User Story:
Come utente MacBookPro, voglio eseguire uno script che espelle la mia unità USB quando disconnetto la fonte di alimentazione in modo che non debba ricordarsi di espellerla prima di afferrare il mio portatile e di andare a una riunione.
Criteri di accettazione:
- NESSUN app di terze parti
- NO polling. Deve essere guidato dagli eventi
Ho già uno script che utilizzo per rilevare le modifiche al cavo di rete. Lo lancio usando launchctl con un WatchPath come questo nel mio file .plist:
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/SystemConfiguration</string>
</array>
Spero di trovare un modo simile per avviare uno script diverso quando il mio cavo di alimentazione è collegato / disconnesso.
So già come rilevare se l'alimentazione CA è collegata o meno ... Devo solo trovare un evento che mi dica che posso farlo.
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