Чи можу я займатися базовою математикою на баші?


Відповіді:


21

Просто введіть bcу термінал. Потім введіть всі математичні речі після цього.

bcрозшифровується як " b asic c alculator"

Потім введіть quitта введіть для виходу.


2
Просто для ясності було б так: відлуння 25-5 | до н.е.
Медхат Хелмі

Для деяких математичних проблем вам може знадобитися обгортати це цитатами, наприклад,echo '0.6 * 12' | bc
Гусак

Вам може знадобитися додати масштаб, щоб отримати точність роботи з плаваючою комою, тобтоecho "scale=2;557/3672" | bc
CpILL

60

Якщо ми справді говоримо про Баша, а не про Борна Шелла (ш) або інших снарядів, це легко.

Bash може обчислити основні вирази за допомогою $ ((izraz)), і ось приклад того, як ви могли б хотіти ним користуватися:

 a = 3
 b = 4
 c = $ ((7 * a + b))
 відлуння $ c

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

 echo $ ((7 * 3 + 4))

Це, здається, належний баш, оскільки це працює. Я перебуваю в одному з моїх університетських кластерів
Курру

4
$((expression))Синтаксис є частиною POSIX shстандарту, і похідні від ksh.
geekosaur

6
Bash може робити лише цілу арифметику. Він не може робити арифметику з плаваючою комою, наприклад, ksh93 або zsh
fpmurphy

3
Це повинна була бути прийнята відповідь.
Андреас Хартманн

10

Існує ряд утиліт командного рядка для виконання простих обчислень:

$ expr 100 \* 4
400

$ echo '100 * 4' | bc
400

назвати лише два з них. Будьте обережні, роблячи множення, так, як якщо б не уникнути вашої * оболонки, можливо, спробуйте інтерпретувати її як підстановку.



7

Ну на ваше запитання відповіли, але врахуйте це:

Більшість дистрибутивів Linux мають попередньо встановлений python, так чому б не використовувати його?

Просто введіть

python

в терміналі, а потім виконайте всю арифметику, яку ви хочете, як

2+2

Вийде 4 :)

Ви також можете зробити це безпосередньо з терміналу за допомогою -cаргументу python.

python -c 'print 2+2'

На моєму комп’ютері pythonдля запуску тексту потрібно майже дві секунди. Досить дратує, якщо ви просто хочете зробити щось таке, як 2 + 2.
ShreevatsaR

використовуйте python3, якщо ви не хочете плаваючого округлення. наприклад , 2 / 30(пітон: 0) (python3: 0.06666666666666667)
hrvoj3e

і якщо у вас встановлений лише python3, але ви хочете округлення, використовуйте 2//30абоint(2/30)
mazunki

3

Або Рубі. :)

Хоча він може не бути встановлений заздалегідь, він досить швидкий.

Введіть irb, тоді 2+2.

Або просто ruby -e 'p 2+2'


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.