No meu laptop, posso verificar o conteúdo do arquivo /sys/class/power_supply/C1BC/online
: se o laptop estiver conectado, este arquivo contém 1
, caso contrário ele contém 0
.
Por exemplo,
if [ "1" = "'cat /sys/class/power_supply/C1BC/online'" ]; then
echo "Laptop is charging/plugged"
else
echo "Laptop is discharging/unplugged"
fi
Observação. Conforme confirmado pelo OP, a parte C1BC
depende do sistema.