Ejecter instantanément tous les lecteurs et disques montés à partir de la ligne de commande sous Mac OS X

La prochaine fois que vous êtes sur la ligne de commande et que vous devez éjecter chaque volume monté, disque dur, disque, image disque et / ou disque externe connecté à un Mac, vous pouvez les éjecter instantanément d'un seul coup avec un pratique chaîne de commande osascript. C'est génial si vous travaillez fréquemment dans le terminal et que vous voulez emballer rapidement un poste de travail et en sortir, mais aussi très utile pour gérer à distance les Mac via une connexion ssh ou ajouter à un script shell, parmi d'autres utilisations potentielles .

Pour ceux qui ne connaissent pas osascript, c'est une interface de ligne de commande pour AppleScript qui vous permet d'exécuter des scripts AppleScripts et OSA depuis le terminal. La fonctionnalité est assez simple, vous alimentez simplement un script ou une instruction que vous placez dans l'éditeur AppleScript, et le tout est géré à partir du terminal plutôt que d'avoir à lancer dans l'application graphique dans OS X. Utilisons osascript pour éjecter tous les volumes montés sur un Mac.

Éjection de tous les volumes, disques et images disque montés via le terminal

À partir du terminal, exécutez la chaîne de commande suivante sur une seule ligne:

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

Comme d'habitude avec la ligne de commande, assurez-vous que la syntaxe entière de la commande est sur une ligne. À moins que votre fenêtre de terminal ne soit très grande, elle s'enroulera probablement, c'est bon.

Au moment où vous appuyez sur la touche Entrée pour exécuter la commande, les volumes commenceront à éjecter. Les images disque et les volumes réseau sont immédiatement activés, tandis que les disques durs externes tournent en premier avant l'éjection. Néanmoins, même si vous devez attendre le démarrage de certains disques, la tâche est très rapide et aucune interaction supplémentaire n'est requise.

Il y a certainement d'autres façons de le faire, y compris avec les outils hdiutil et diskutil, mais la méthode osascript est probablement la plus rapide puisqu'elle éjecte tout sans avoir à utiliser de points de montage. Si vous connaissez une autre méthode pour éjecter en masse des volumes, peut-être compatible avec plusieurs plates-formes pour qu'elle fonctionne sous Mac OS X comme Linux, faites-le nous savoir dans les commentaires.

Trouvez-vous en utilisant cela souvent? Pensez à l'ajouter à votre fichier bash_profile avec un alias pour raccourcir la longueur de la commande. Ajoutez simplement quelque chose comme ceci à .bash_profile à cette fin:

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

Cela vous permet seulement de taper 'ejectall' plutôt que la chaîne de commande entière.

Bien sûr, tout cela est un peu avancé, et la plupart des utilisateurs Mac préfèrent éjecter des disques en maintenant la touche d'éjection enfoncée, ou en passant par le Finder OS X en les trouvant dans la barre latérale, en survolant le nom et en cliquant sur le bouton d'éjection .