Benutzer Geschichte:
Als MacBookPro-Benutzer möchte ich ein Skript ausführen, das mein USB-Laufwerk auswirft, wenn ich die Stromquelle trenne, damit ich nicht daran denken muss, es auszuwerfen, bevor ich meinen Laptop greife und zu einer Besprechung eile.
Akzeptanzkriterium:
- KEINE Apps von Drittanbietern
- KEINE Abstimmung. Es muss ereignisgesteuert sein
Ich habe bereits ein Skript, mit dem ich Netzwerkkabeländerungen erkennen kann. Ich starte es mit launchctl mit einem WatchPath wie diesem in meiner .plist-Datei:
<key>WatchPaths</key>
<array>
<string>/Library/Preferences/SystemConfiguration</string>
</array>
Ich hoffe, einen ähnlichen Weg zu finden, um ein anderes Skript zu starten, wenn mein Netzkabel angeschlossen / abgezogen ist.
Ich weiß bereits, wie ich feststellen kann, ob Wechselstrom angeschlossen ist oder nicht ... Ich muss nur ein Ereignis finden, das mir sagt, dass ich es tun kann.
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