Skru ut alle monterte disker og disker umiddelbart fra kommandolinjen i Mac OS X

Neste gang du befinner deg på kommandolinjen og trenger å skille ut hvert enkelt montert volum, harddisk, disk, diskbilde og / eller ekstern stasjon som er koblet til en Mac, kan du øyeblikkelig skille dem ut i ett fall med et hendig osascript kommandostreng. Dette er flott hvis du jobber ofte i Terminal, og du vil raskt pakke opp en arbeidsstasjon og gå ut, men det er også veldig nyttig for eksternt å administrere Macer via en ssh-tilkobling, eller legge til et shell-script, blant annet potensielle bruksområder .

For de som ikke er kjent med osascript, er det et kommandolinjegrensesnitt til AppleScript som lar deg utføre AppleScripts og OSA språkskript fra terminalen. Funksjonaliteten er ganske enkel, du legger i utgangspunktet bare et skript eller en setning som du ellers ville plassere i AppleScript Editor, og hele greien håndteres fra terminalen i stedet for å måtte lanseres i GUI-appen i OS X. La oss bruke osascript for å kaste ut alle de monterte volumene på en Mac.

Skru ut alle monterte volumer, disker og diskbilder via terminal

Fra terminalen kjører du følgende kommandostreng på en enkelt linje:

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

Som vanlig med kommandolinjen, vær sikker på at hele kommandosyntaxen er på en linje. Med mindre terminalvinduet er satt veldig stort vil det sannsynligvis vikle, det er ok.

Øyeblikket du treffer enter-tasten for å kjøre kommandoen, vil volumene starte utkasting. Diskbilder og nettverksvolumer går straks, mens eksterne harddisker spinner opp først før de slipper ut. Likevel, selv om du må vente på spinn opp av noen stasjoner, er hele oppgaven veldig rask og det kreves ingen videre interaksjon.

Det er sikkert andre måter å gjøre dette på, blant annet med hdiutil- og diskutilverktøyene, men osascript-metoden er trolig den raskeste siden det utløser alt uten å måtte bruke monteringspunkter. Hvis du kommer til å kjenne til en annen metode for masseutkasting av volumer, kanskje en som er kryssplattformkompatibel slik at den vil fungere i Mac OS X, så vel som Linux, så gi oss beskjed i kommentarene.

Finn deg selv å bruke dette ofte? Vurder å legge den til din bash_profile med et alias for å forkorte lengden på kommandoen. Bare legg til noe som følgende til .bash_profile for dette formålet:

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

Dette gjør at du bare må skrive 'ejectall' i stedet for hele kommandostrengen.

Selvfølgelig er dette bare litt avansert, og de fleste Mac-brukere er bedre servert utkasting av disker ved å holde nede eject-nøkkelen eller gå gjennom OS X Finder ved å finne dem i sidelinjen, hover over navnet og klikke på utløserknappen .