Zainstaluj acpi
pakiet. Teraz włóż to return0whencharging.sh
i zrób to:
#!/bin/sh
acpi -V
if cat /proc/acpi/battery/BAT1/state | grep "charging state" | grep -vE ":[\t ]*charging$"; then
exit 1
else
exit 0
fi
Jeśli echo -e "\a"
wydaje dźwięk, zacznij to, gdy chcesz sprawdzić stan baterii:
watch --beep return0whencharging.sh
Jeśli nie ma żadnego dźwięku lub chcesz zawiadomienie i lepsze niż cokolwiek alarm zegarek może dostarczy, zainstaluje libnotify-bin
i mpv
i używać zamiast tego:
while return0whencharging.sh; do sleep 1; done; notify-send "Finished charging" && mpv -loop /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga
Objaśnienie :
Jeśli spojrzysz na stronę man dla grep , zobaczysz, że -v
odwraca dopasowanie, a zatem kod powrotu / statusu. -E
oznacza, że jest to wyrażenie regularne. [\t ]
w regex (wyrażenie regularne) oznacza „kartę lub przestrzeń”. Następująca gwiazda oznacza „tabulator lub spacja 0 lub więcej razy”. Końcowy znak „$” oznacza, że powinien on pasować do końca linii. Ostatnia grep
oznacza, że wiersze NIE kończą się „:”, dowolną liczbą tabulatorów lub spacji, a następnie „ładowaniem”, a koniec wiersza powinien grep
zakończyć się kodem stanu 0. Oznacza to, że grep
zwróci 1, o ile komputer jest ładowanie. if
Wykona To pierwszy oddział, gdy kod stanu jest 0,grep
exit 1
kiedy grep kończy 0 i exit 0
kiedy grep istnieje niezerowa.