bash shell中的數學計算

2021-09-23 22:50:14 字數 910 閱讀 8341

在寫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 ...