Rechtstreeks alle gemonteerde schijven & schijven uit de opdrachtregel verwijderen in Mac OS X

De volgende keer dat u zich op de opdrachtregel bevindt en elke afzonderlijk gekoppeld volume, harde schijf, schijf, schijfkopie en / of extern station op een Mac moet verwijderen, kunt u ze allemaal meteen in één keer uitwerpen met een handig hulpmiddel osascript-opdrachtreeks. Dit is geweldig als je regelmatig in de Terminal werkt en je snel een werkstation wilt inpakken en erop uit wilt gaan, maar het is ook erg handig voor het op afstand beheren van Macs via een ssh-verbinding, of het toevoegen van een shellscript, naast andere mogelijke toepassingen .

Voor degenen die onbekend zijn met osascript, is het een opdrachtregelinterface naar AppleScript waarmee je AppleScripts en OSA-taalscripts vanuit de terminal kunt uitvoeren. De functionaliteit is vrij eenvoudig, je geeft hem eigenlijk gewoon een script of een statement dat je anders in de AppleScript-editor zou plaatsen, en het hele ding wordt afgehandeld vanaf de terminal in plaats van dat je in OS X naar de GUI-app moet gaan. Laten we gebruiken osascript om alle gemounte volumes op een Mac uit te werpen.

Alle gemonteerde volumes, schijven en schijfkopieën via Terminal uitwerpen

Voer vanuit de Terminal de volgende opdrachtreeks uit op één regel:

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

Zoals gebruikelijk met de opdrachtregel, moet u ervoor zorgen dat de syntaxis van de volledige opdracht op één regel staat. Tenzij uw terminalvenster erg groot is ingesteld, zal het waarschijnlijk inpakken, dat is goed.

Op het moment dat u op de Enter-toets drukt om het commando uit te voeren, zullen de volumes beginnen met uitwerpen. Schijfafbeeldingen en netwerkvolumes gaan onmiddellijk, terwijl extern draaiende harde schijven eerst zullen draaien voordat ze worden uitgeworpen. Desalniettemin, zelfs als je moet wachten op de opwekking van sommige schijven, is de hele taak erg snel en is er geen verdere interactie vereist.

Er zijn zeker andere manieren om dit te doen, inclusief met de tools hdiutil en diskutil, maar de osascript-methode is waarschijnlijk de snelste omdat alles wordt uitgeworpen zonder dat er mount-punten moeten worden gebruikt. Als je toevallig een andere methode kent om volumes massaal uit te werpen, misschien een die cross-platform compatibel is zodat het zowel in Mac OS X als in linux zou werken, laat het ons dan weten in de comments.

Vindt u dat u dit vaak gebruikt? Overweeg deze toe te voegen aan uw bash_profile met een alias om de lengte van de opdracht in te korten. Voeg eenvoudigweg zoiets als het volgende toe aan .bash_profile voor dit doel:

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

Hierdoor hoeft u alleen 'ejectall' in te typen in plaats van de hele opdrachtreeks.

Natuurlijk is dit allemaal een beetje geavanceerd, en de meeste Mac-gebruikers zijn beter in staat om schijven uit te werpen door de eject-toets ingedrukt te houden of door de OS X Finder te gaan door ze in de zijbalk te vinden, over de naam te bewegen en op de uitwerpknop te klikken .