Я хочу знать, который команда должна я использовать в моем сценарии для проверки Батареи, если это присутствует или отсутствует. как if condition
.спасибо
Когда я пробую следующей командой, я получаю ошибку.
test@test-pc:~$ cat /proc/acpi/battery/BAT0/*
cat: /proc/acpi/battery/BAT0/*: No such file or directory
test@test-pc:~$ cat /sys/class/power_supply/BAT0/status
cat: /sys/class/power_supply/BAT0/status: No such file or directory
Также acpi
уже установлен.
Я использовал dmesg | grep battery
проверять батарею и результат было этим:
[ 1.309638] ACPI: Deprecated procfs I/F for battery is loaded, please retry with CONFIG_ACPI_PROCFS_POWER cleared
[ 1.309643] ACPI: Battery Slot [BAT1] (battery present)
Результат acpi -i
как следует также:
Battery 0: Unknown, 79%
Battery 0: design capacity 8244 mAh, last full capacity 6591 mAh = 79%
И теперь как я могу использовать этот результат в своем сценарии?
Файл /sys/class/power_supply/BAT0/status
может помочь Вам.
, Если батарея присутствует, это, например:
cat /sys/class/power_supply/BAT0/status
Charging
Другое место могло быть:
cat /proc/acpi/battery/BAT0/*
Или к сопутствующей информации представления ACPI используют команду:
acpi -i
acpi -i
не производит вывода для стандартного вывода, когда никакая батарея не присутствует. В сценарии используют его следующим образом:
if [ -z "$(acpi -i)" ]; then
echo "battery not present"
else
echo "battery present"
fi
Код Python ниже проверяет вывод acpi -i
. если нет никакого вывода, "Где моя батарея?" печатается, иначе "хорошо, существующий". Конечно, можно поместить любую команду там, с помощью или subprocess.call()
или subprocess.Popen()
.
#!/usr/bin/env python
import subprocess
get_batterystatus = subprocess.check_output(['acpi', '-i']).decode('utf-8').strip()
if get_batterystatus == "":
print "Where is my battery?"
else:
print "OK, present"