Mohan pd.
Mohan pd. Author of The Coders Blog. Also a professional fullstack javascript developer working with various tech company and client around world.

Linux script to verify if you are on battery

Linux script to verify if you are on battery

An example hook script to verify if you are on battery, in case you are running Linux or OS X. Called by git-gc –auto with no arguments. The hook should exit with non-zero status after issuing an appropriate message if it wants to stop the auto repacking.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
if test -x /sbin/on_ac_power && /sbin/on_ac_power
then
        exit 0
elif test "$(cat /sys/class/power_supply/AC/online 2>/dev/null)" = 1
then
        exit 0
elif grep -q 'on-line' /proc/acpi/ac_adapter/AC/state 2>/dev/null
then
        exit 0
elif grep -q '0x01$' /proc/apm 2>/dev/null
then
        exit 0
elif grep -q "AC Power \+: 1" /proc/pmu/info 2>/dev/null
then
        exit 0
elif test -x /usr/bin/pmset && /usr/bin/pmset -g batt |
        grep -q "drawing from 'AC Power'"
then
        exit 0
elif test -d /sys/bus/acpi/drivers/battery && test 0 = \
  "$(find /sys/bus/acpi/drivers/battery/ -type l | wc -l)";
then
        # No battery exists.
        exit 0
fi

echo "Auto packing deferred; not on AC"
exit 1

comments powered by Disqus