Skip to content

Instantly share code, notes, and snippets.

@wooosh
Created June 29, 2019 22:33
Show Gist options
  • Save wooosh/e3de8bbfd4791718700ec3c7fc59d694 to your computer and use it in GitHub Desktop.
Save wooosh/e3de8bbfd4791718700ec3c7fc59d694 to your computer and use it in GitHub Desktop.
bruh
#!/usr/bin/env bash
usage() {
cat << EOF
usage: power.sh -i BATTNAME [property]
power.sh -e
power.sh -h
EOF
}
help() {
cat << EOF
Get battery information.
-i Print info about powersource
-e Enumerate available powersources
-h Print help message
EOF
}
battery_stat() {
STATNAME="$(basename $1 | tr -d '\n')";
case "$STATNAME" in
uevent )
;;
device )
;;
subsystem )
;;
power )
;;
* )
{ printf " %-30s" "$STATNAME:"; cat "$1" | tr -d " "; }
;;
esac
}
getopts "hei:" opt;
case ${opt} in
e ) # Enumerate
echo "Available Devices:"
find /sys/class/power_supply/* -exec basename {} \;
;;
i ) # Info
if [ ! -d "/sys/class/power_supply/$OPTARG" ]; then
echo "Power supply $OPTARG does not exist or cannot be accessed"
exit
fi
if [ "3" = "$#" ]; then
shift $((OPTIND -1))
cat "/sys/class/power_supply/$OPTARG/$1"
else
echo "Battery information for $OPTARG:"
for f in /sys/class/power_supply/"$OPTARG"/*; do
battery_stat "$f"
done
fi
;;
h )
usage
help
;;
\? )
usage
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment