Есть один bash-скрипт. Грубо говоря let "z = 1/2". ЧЯДНТ?

программирование Linux Отношения unix bash

#!/bin/bash
max=`cat /sys/class/power_supply/battery/charge_full`
now=`cat /sys/class/power_supply/battery/charge_now`
#ch=`cat /sys/class/power_supply/battery/subsystem/ac/online`
let "p = now / max"
let "proc = p*100"
echo "$proc"

Примечание:
Пока ждал ответа пришел к решению вида
let "proc = (100*now)/max)"

2Старший телепат: в виду нахождения решения самостоятельно гугление откладывается. Дробная часть не нужна.

2begas: Хз. Скрипт возвращает процент заряда батареи. Планирую расширить на вывод строки вида Battery is $proc full.
Если [ ch -eq 1 ] то еще будет написано Charging.
Если [ $proc -lt 10 ]то еще будет написано Critical.

Xandox, ок.
Ответы:
что за набор переменных?
что ты хочешь от скрипта?
попробуй мат. операции обарачивать в $(( ))
например
proc=$((now*100/max))
echo $proc
bash сам по себе не работает с числами с плавающей запятой. Только с целыми. Решения есть, погуглите на тему "bash floating point"


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.