Как я могу знать, что Батарея присутствует или отсутствует с помощью сценария?

Я хочу знать, который команда должна я использовать в моем сценарии для проверки Батареи, если это присутствует или отсутствует. как 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%

И теперь как я могу использовать этот результат в своем сценарии?

3
задан 3 September 2014 в 18:50

2 ответа

Файл /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
4
ответ дан 17 November 2019 в 19:43

Код 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" 
2
ответ дан 17 November 2019 в 19:43

Другие вопросы по тегам:

Похожие вопросы: