Linux中的數學計算

2021-08-31 11:39:24 字數 1187 閱讀 6661

第一次使用shell中的數**算的時候,相對於c/c++中的直接使用來說,十分的麻煩,並且不是很好記憶

expr方法可以直接在命令列使用,當遇到在shell中有其他含義的操作符的時候,需要使用'\'轉義符,並且嚴格要求操作符兩邊必須有空格 如:

注意:運演算法兩邊一定要有空格

$ expr 1 + 5

6$ expr 5 \* 5

25

如果expr方法使用在指令碼中時:

val=$(expr 1 + 1)
需要注意的是:expr不支援浮點數運算,所以運算的數字中不能出現浮點數,否則會出現下面的錯誤

如果使用數**算,可以使用方括號將數學表示式圍起來$[ operation ]或者$(( operator ))

同樣方括號同樣支援在命令列中直接執行,如:

在指令碼中使用方法:

val=$[1 + 1]
與expr相同,方法不支援浮點數運算,使用將會出現以下錯誤:

與expr方法不同:方括號中運算子兩兩邊不需要新增空格        shell中存在的運算子不需要使用轉義符

如果版本中沒有bc,則使用yum install bc安裝bc

最重要的不同是:bc支援浮點型運算,浮點運算是由內建的scale控制的,預設scale變數為0,所以預設計算結果不包含小數,我們可以手工指定小數點的個數即可

在命令列中使用:

或者使用管道符: 

指令碼中使用,我們需要使用管道符,將要運算的數值作為bc的引數

《linus命令列與shell指令碼程式設計大全》

shell中的數學計算

shell中的賦值和操作預設都是字串處理,在此記下shell中進行數 算的幾個特殊方法,以後用到的時候可以來看,呵呵。1 錯誤方法舉例 a var 1 1 echo var 輸出的結果是1 1,悲劇,呵呵 b var 1 var var 1 echo var 輸出結果是1 1,依然悲劇,呵呵 2 正...

bash shell中的數學計算

在寫shell指令碼的時候會用到很多的數 算,簡單的乙個游標 1 1,或者更多一點的浮點運算等,shell中數學計算稍麻煩,我想每個人都試過var 1 1 或者var 1這類錯誤。下面對shell中做數學計算小做總結 其他的減乘除類似,要注意乘法中的 號需要做轉義 即可 bc更常用,對運算來說也更好...

shell 中數學計算

1 expr 命令 expr命令是乙個手工命令列計數器,用於在unix linux下求表示式變數的值,一般用於整數值,也可用於字串。格式 expr argument operator argument 引數說明 argument 為第乙個引數 operator 為操作運算子 argument 為第二...