#!/bin/sh usage() { cat << EOF Usage: $0 [OPTIONS] $0 -h Refresh battery information provided by upower. OPTIONS: -h Show this help. -r Restart upower service EOF } restartdaemon=0 while getopts "rRhnq8HSxc:s:t:T:uL" OPTION do case $OPTION in h) usage exit ;; r) restartdaemon=1 ;; *) usage >&2 exit 1 ;; esac done shift $(($OPTIND - 1)) if [ "${restartdaemon}" -gt 0 ]; then systemctl restart upower else for bat in BAT0 BAT1; do busctl call --system \ org.freedesktop.UPower \ /org/freedesktop/UPower/devices/battery_${bat} \ org.freedesktop.UPower.Device Refresh done fi