LINUX.ORG.RU

[bash] деление, ошибка

 


0

1

есть скрипт для получения заряда батареи:

#!/bin/sh
MAX=`cat /proc/acpi/battery/BAT1/info | grep charging | cut -b26`
CUR=`cat /proc/acpi/battery/BAT1/state | grep remaining | cut -b26`
PRC=$(( $CUR * 100 / $MAX ))
echo $PRC
когда запускаю его вылазит следующее:

ошибка синтаксиса: ожидается операнд (error token is «/ »)

с цифрами такого нет, как можно это исправить?

Спасибо.

~ % TEST1=2
~ % TEST2=2
~ % TEST=$(( $TEST1 * 100 / $TEST2 ))
~ % echo $TEST 
100
GotF ★★★★★
()

> #!/bin/sh

исправь на /bin/bash

если у тебя бубунта например, то sh симлинк не на bash, а на что-то деревянное и неумеющее арифметику

x0r ★★★★★
()

Может быть, лучше использовать /sys/class/power_supply/BAT0/uevent? Его можно просто source'нуть и сделать echo $(( $CHARGE_CURRENT / $CHARGE_FULL )) (имена переменных и файлов пишу по памяти, ноутбука под рукой ней).

AITap ★★★★★
()
Ответ на: комментарий от x0r

>> sh симлинк не на bash, а на что-то деревянное и неумеющее арифметику

неумеющее арифметику

4.2

GotF ★★★★★
()
Ответ на: комментарий от Led

собственно не вдавался, скрипт стырил)

xApollo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.