Histoire d'utilisateur :
En tant qu'utilisateur de MacBookPro, je veux exécuter un script qui éjecte ma clé USB lorsque je déconnecte la source d'alimentation, afin que je n'aie pas à me souvenir de l'éjecter avant de prendre mon ordinateur portable et de me dépêcher d'aller à une réunion.
Critères d'acceptation :
- PAS d'applications tierces
- PAS de sondage. Il doit être piloté par des événements.
J'ai déjà un script que j'utilise pour détecter les changements de câble réseau. Je le lance en utilisant launchctl avec un WatchPath comme celui-ci dans mon fichier .plist :
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/SystemConfiguration</string>
</array>
J'espère trouver un moyen similaire pour lancer un script différent lorsque mon cordon d'alimentation est branché/débranché.
Je sais déjà comment détecter si le courant alternatif est connecté ou non... J'ai juste besoin de trouver un événement qui me dise que je peux le faire.
AC_POWER=`ioreg -l | grep ExternalConnected | cut -d"=" -f2 | sed -e 's/ //g'`
if [[ "$AC_POWER" == "No" ]]
then
for MEDIA_PATH in "/Volumes/Backup Drive 1/" /Volumes/MyPhotos/
do
if [ -e "$MEDIA_PATH" ]
then
echo "Ejecting $MEDIA_PATH"
diskutil eject "$MEDIA_PATH"
else
echo "$MEDIA_PATH not mounted"
fi
done
else
echo "AC Power connected"
fi