Kasta ut alla monterade enheter och diskar direkt från kommandoraden i Mac OS X

Nästa gång du befinner dig på kommandoraden och behöver skicka ut varje enskild volym, hårddisk, disk, skivavbildning och / eller extern enhet som är ansluten till en Mac, kan du omedelbart mata ut dem i ett fall med ett handy osascript kommandosträng. Det här är bra om du arbetar ofta i terminalen och du vill snabbt packa upp en arbetsstation och gå ut, men det är också mycket användbart för fjärrstyrning av Macs via en ssh-anslutning, eller lägga till ett skalskript, bland annat potentiella användningsområden .

För dem som inte är bekanta med osascript, är det ett kommandoradsgränssnitt till AppleScript som låter dig utföra AppleScripts och OSAs språkskript från terminalen. Funktionen är ganska enkel, du matar i princip bara ett skript eller ett uttalande som du annars skulle placera i AppleScript Editor, och hela saken hanteras från terminalen i stället för att du måste starta in i GUI-appen i OS X. Låt oss använda osascript för att mata ut alla volymer på en Mac.

Utmatning av alla monterade volymer, enheter och diskbilder via terminal

Från terminalen kör följande kommandosträng på en enda rad:

osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'

Som vanligt med kommandoraden, se till att hela kommandotyntaxen finns på en rad. Om inte ditt terminalfönster är inställt mycket stort kommer det troligen att slingras, det är okej.

När du trycker på enter-tangenten för att köra kommandot, börjar volymerna utstötas. Diskbilder och nätvolymer går omedelbart, medan externa snurrande hårddiskar kommer att snurra först innan de matas ut. Ändå, även om du måste vänta på att snurra upp några enheter, är hela uppgiften mycket snabb och det krävs ingen ytterligare interaktion.

Det finns säkert andra sätt att göra detta, bland annat med hdiutil och diskutilverktygen, men osascript-metoden är förmodligen den snabbaste eftersom den matar ut allt utan att behöva använda monteringspunkter. Om du råkar känna till en annan metod för att massutmatar volymer, kanske en som är plattformskompatibel så att den skulle fungera i Mac OS X samt Linux, låt oss veta i kommentarerna.

Hitta dig själv med det här ofta? Överväg att lägga till den i din bash_profile med ett alias för att förkorta längden på kommandot. Lägg bara till något som följande till .bash_profile för detta ändamål:

alias ejectall='osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)''

Detta gör att du bara måste skriva "ejectall" istället för hela kommandoraden.

Självklart är det här helt lite avancerat, och de flesta Mac-användare kan bättre skicka ut skivor genom att hålla ner utmatningsnyckeln eller gå igenom OS X Finder genom att hitta dem i sidofältet, sväva över namnet och klicka på utmatningsknappen .