Аз съм от онези, които винаги програмират скриптове тряскам за решаване на ежедневни ситуации (пробийте паролата за AP / Router, автоматизирайте процеси и т.н.).
В определени случаи видях необходимостта да присвоя стойността на математически израз на променлива или просто да работя с математически изрази, там се озовах с проблема, че bash и математическите изрази, изчисленията не са много приятелски. Случва се bash да не е като python, какво да кажем променлива = 1 + 5/6 (например), в Bash трябва да използваме командата ИЗРАЗът o Проследяване
Expr команда
С други думи, командата expr ни помага да решаваме математически изрази в терминала, с нея можем да изчислим това, от което се нуждаем. Например, ако искаме да се появи резултатът 1 + 2 * 8/3, поставяме в терминала:
expr 1 + 2 \* 8 / 3
И резултатът ще се появи на екрана. Ето екранна снимка с няколко примера:
В случай, че искаме да присвоим на променлива резултата от математически израз (Пример: 10/2), това би било така:
variable=`expr 10 / 2`
След това го проверяваме с:
echo $variable
Команда Calc
Този, за разлика от предишния, е точен по отношение на десетичните знаци, пример:
calc 15 / 4
Ще ни покаже: 3.75
Ето екранна снимка с няколко примера:
Е, това е основното, за което исках да ви разкажа.
Все пак има някои други интересни съвети за всяка команда (особено calc), препоръчвам ви да прочетете ръководството:
man calc
man expr
поздрави
Много полезно, въпреки че определено не би било добре да използвате Bash за математически изчисления, десетичните знаци се броят :)
Г-н elav, все още имаме bash калкулатор 🙂 можем да използваме аргумента -l, за да използваме стандартната математическа библиотека
нещо такова
$ echo "(4/8)+(6/9)" | bc -l
1.166666666666666666666666
ha
????
Отлично. По този начин избягвам неприятностите с инсталирането на XCalc, когато използвам чист X11.
О, не знаех този, страхотно !!
Благодаря, доста е полезно 😉
Благодаря ^ _ ^
Благодаря ти. Системният калкулатор е конкурент за основни операции.
Благодаря ви, че ни прочетохте 🙂
Добър съвет!
не ми харесва