#!/bin/sh # This script exits with status 0 when the computer is on AC power (or no AC # power supply found), 1 otherwise (i.e. running on battery). set -u verbose=false [ "${1:-}" = '-v' ] && verbose=true # If we do not have any power supplies, assume we are on AC. rc=0 # Iterate through power supplies sysfs knows about. for ps in /sys/class/power_supply/*; do [ -r $ps/online ] || continue # We know we have an AC adaptor, our default return changes to failed. rc=1 if [ "$(cat $ps/online)" -eq 1 ]; then rc=0 break fi done $verbose && echo $rc exit $rc