①在Linux裏面使用expr命令進行運算,比如:expr 1 + 2 結果就是3,輸入命令的時候注意不同字符之間的空格。
還有乘號使用的是*,這裏需要轉義,不能直接expr 1 * 2要expr 1 \* 2
這裏定義了2個變量。注意定義變量的時候是不要加空格的,而計算的時候是要加空格的。
結果:result = 30
②不僅使用expr可以進行運算操作,還可以使用括號[]進行運算
結果仍然是30,但是這裏面的乘號*不用轉義
③Linux中的浮點數的計算
前面的東西只能運算整數,要想運算浮點數還得使用bc命令。當然,bc也可以算整數的。
命令行輸入 bc 開始進入計算器模式,退出這種模式需要輸入quit。輸入bc進入時會有許多的歡迎語,如果要去掉這些可以使用命令bc -q。
可以看到,運算的結果爲0。這是因爲計算器默認的是保留0位小數,如果想多保留幾位小數可以這樣
從結果還可以看出它不會四捨五入
④在shell腳本中使用bc
前面是在命令行使用bc,沒有什麼太大的意思,我們最終還是爲了學寫腳本。
var1=`echo "scale=3;1/3"|bc`
這是一種格式,由於後面是命令所以用反引號,echo後面有空格的,跟平時輸入的命令一樣。
然後就是“”雙引號,裏面有2條語句,scale=什麼,指定保留小數的位數,後面一條是表達式,用分號隔開。
接着一個豎線|bc。這樣就把計算的結果放到變量中了。
表達式中可以帶變量的,不一定是具體的數字。
⑤bc與輸入重定向的結合。
這裏就放個截圖吧,理解起來也很簡單
這樣做的好處就是看起來更簡潔,當然,這個例子可能體現不出來。
但是 如果這樣子
var6=`echo "scale=3;($var1*var2)+($var3*$var4)"|bc`
計算的結果是var3+var4的結果