mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-21 12:26:50 +02:00
30 lines
729 B
Bash
30 lines
729 B
Bash
#!/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
|
|
# Ignore batteries.
|
|
[ -r $ps/type ] && [ "$(cat $ps/type)" = 'Battery' ] && continue
|
|
|
|
# Ignore when no online info (we return 0 when no AC power found).
|
|
[ -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
|