Historia del usuario:
Como usuario del MacBookPro quiero ejecutar un script que expulse mi unidad USB cuando desconecte la fuente de alimentación para no tener que acordarme de expulsarla antes de coger el portátil y salir corriendo a una reunión.
Criterios de aceptación:
- NO hay aplicaciones de terceros
- No hay encuestas. Debe ser impulsado por eventos
Ya tengo un script que utilizo para detectar los cambios de cable de red. Lo lanzo usando launchctl con un WatchPath como este en mi archivo .plist:
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/SystemConfiguration</string>
</array>
Espero encontrar una manera similar de lanzar un script diferente cuando mi cable de alimentación está conectado/desconectado.
Ya sé cómo detectar si la corriente alterna está conectada o no... Sólo necesito encontrar un evento que me diga que puedo hacerlo.
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