#!/bin/sh declare -x VOERBOOS export RETVAL=0 export BATVAL="$(echo "scale=0;$(cat /sys/class/power_supply/BAT0/charge_now)*100/$(cat /sys/class/power_supply/BAT0/charge_full)"|bc -l)" export BATSTATE="$(cat /sys/class/power_supply/BAT0/status)" function batmobile { if [ "$BATVAL" -le 5 ];then case "$BATSTATE" in "Charging") MSG="Battery charged at $BATVAL% with status \"$BATSTATE\", no shutdown." [ ! -z "$VOERBOOS" ]&&[ "$VOERBOOS" -eq 1 ]&&echo "$MSG"||true logger -p"info" -t"batman" "Battery charged at $BATVAL% with status \"$BATSTATE\", no shutdown."||RETVAL=$(("$RETVAL"+$?)) ;; *) MSG="Battery charged at $BATVAL%, powering down." [ ! -z "$VOERBOOS" ]&&[ "$VOERBOOS" -eq 1 ]&&echo "$MSG"||true logger -pwarn -t"batman" "$MSG"||RETVAL=$(("$RETVAL"+$?)) sudo shutdown -P +2 "$MSG"||RETVAL=$(("$RETVAL"+$?)) ;; esac else MSG="Battery charged at $BATVAL%, no shutdown." [ ! -z "$VOERBOOS" ]&&[ "$VOERBOOS" -eq 1 ]&&echo "$MSG"||logger -p"info" -t"batman" "$MSG"||RETVAL=$(("$RETVAL"+$?)) fi } function batarang { MSG="$BATVAL% ($BATSTATE)";echo "$MSG"; } while getopts :vnp SHOPT;do case "$SHOPT" in v)export VOERBOOS=1;; p)batmobile;; ""|n)batarang;; *)echo "Not supported option: -""${OPTARG}" >&2;RETVAL=$(($RETVAL+1)) >&2;WRONGOPT=1;; esac done shift $(( $OPTIND - 1 )) [ ! -z "$WRONGOPT" ]&&[ "$WRONGOPT" -eq 1 ]&&exit 1||true exit "$RETVAL"