我是一直在編寫腳本的人之一 打壞 解決日常情況(破解AP /路由器密碼,自動執行流程等).
在某些情況下,我發現自己需要將數學表達式的值分配給變量,或者只是使用數學表達式,我發現自己遇到了 bash 和數學表達式、計算不是很友好的問題。 恰巧 bash 不像 python,我們還能說什麼 變量= 1 + 5/6 (例如),在Bash中,我們必須使用以下命令 表達式 o 鈣
Expr命令
換句話說,expr命令幫助我們在終端中求解數學表達式,用它我們可以計算出我們需要的東西。 例如,如果我們想要顯示 1 + 2 * 8 / 3 的結果,我們在終端輸入:
expr 1 + 2 \* 8 / 3
請注意,在星號*之前加反斜杠-»\ ...是必要的,因為expr不會將星號解釋為乘法符號,除非\
結果將顯示在屏幕上。 這是一些示例的屏幕截圖:
正如您在最終計算(14/4 和 13/4)中看到的那樣,14 除以 4 實際上是 3.5,13 除以 4 實際上是 3.25,那麼它如何在這兩種情況下都向我們顯示 3? 發生的情況是 expr 命令不向我們顯示小數,即逗號後面的內容,它不顯示它,它只向我們顯示整數。
如果我們想將一個數學表達式的結果(例如:10/2)分配給一個變量,它將像這樣:
variable=`expr 10 / 2`
然後我們使用以下命令進行檢查:
echo $variable
重要的是,每個字符之間要有一個空格,即每個數字,每個加,減,乘或除符號之間要有一個空格
Calc命令
與前一個不同,該數字在小數方面非常精確,例如:
calc 15 / 4
它會告訴我們:3.75
這是帶有幾個示例的屏幕截圖:
與 expr 不同,當我們使用 calc 時,每個字符之間最好沒有空格,也就是說,數字和符號之間沒有空格,就像您在上圖中看到的那樣。 就像他們不需要在 * 之前添加 \ 一樣
好吧,這基本上就是我想告訴你的。
但是,對於每個命令(尤其是calc),還有一些其他有趣的提示,我建議您閱讀手冊:
man calc
man expr
問候
非常有用,儘管使用Bash進行數學計算絕對不好,十進制計數:)
elav先生,我們還有bash計算器🙂我們可以使用-l參數來使用標準數學庫
像那樣的東西
$ echo "(4/8)+(6/9)" | bc -l
1.166666666666666666666666
ha
????
優秀的。 這樣,我避免了在使用純X11時安裝XCalc的麻煩。
哦,我不知道這個,太棒了!
謝謝,這很有用😉
謝謝^ _ ^
謝謝。 系統計算器一直是基本操作的競爭者。
感謝您閱讀我們🙂
好提示!
我不喜歡