在寫shell指令碼的時候會用到很多的數**算,簡單的乙個游標+1 -1, 或者更多一點的浮點運算等,shell中數學計算稍麻煩,我想每個人都試過var=1+1 或者var=$***+1這類錯誤。 下面對shell中做數學計算小做總結
其他的減乘除類似, 要注意乘法中的*號需要做轉義\*即可
bc更常用, 對運算來說也更好用一些,可以直接命令列使用:
> bc
bc 1.06
this is free software with absolutely no warranty.
for details type `warranty'.
1+12
1+1.1
2.11.1212*1.12
1.2557
也可以在標準輸入作為輸入,bc會把結果輸出到標準輸出:
> echo "2+1-5*1.111" | bc
-2.555
還可以用here-doc的方式把表示式傳給bc
> bc <<< "1+2+3+3.3333"
9.3333
bc在計算上還有很多強大的功能, 具體資訊可以看下manpage,比如scale
> echo "scale=1;(1/3)" | bc
.3> echo "scale=10;(1/3)" | bc
.3333333333
awk也可以做算數計算,也支援浮點計算:
> var=1
> var=`echo "$var 5"|awk ''`
> echo $var
6
bash shell 中if的用法
條件判斷的寫法 條件表示式 條件表示式 注意這裡在中開始和結尾需要空格,不然執行會出錯 例子 bin bash a 0b 1 a eq b echo a不等於b 片這裡提一下bash shell中一些需要注意的東西 1整數比較 eq 表示 ne 表示 gt 表示 lt 表示 ge 表示 le表示 2...
shell中的數學計算
shell中的賦值和操作預設都是字串處理,在此記下shell中進行數 算的幾個特殊方法,以後用到的時候可以來看,呵呵。1 錯誤方法舉例 a var 1 1 echo var 輸出的結果是1 1,悲劇,呵呵 b var 1 var var 1 echo var 輸出結果是1 1,依然悲劇,呵呵 2 正...
Linux中的數學計算
第一次使用shell中的數 算的時候,相對於c c 中的直接使用來說,十分的麻煩,並且不是很好記憶 expr方法可以直接在命令列使用,當遇到在shell中有其他含義的操作符的時候,需要使用 轉義符,並且嚴格要求操作符兩邊必須有空格 如 注意 運演算法兩邊一定要有空格 expr 1 5 6 expr ...