linux shell 實現 四則運算(整數及浮點) 簡單方法
在剛剛學習寫shell 批處理時候,進行邏輯運算中,少不了需要進行基礎的:四則運算,這裡說說在linux shell 裡面簡單的實現方法。
1.簡單方法
[chengmo@centos5 ~]$ b=$((5*5+5-3/2))
[chengmo@centos5 ~]$ echo $b
29
在linux shell中,我們可以使用 $(()) 將表示式放在括號中,即可達到運算的功能。
2.其它方法:
用:expr 實現運算
[chengmo@centos5 ~]$ expr 5 - 4
1
注意:將需要運算的表示式寫入在expr 後面即可,保證 引數與運算子號中間有空格隔開。
類別 | 語法 | 說明 |
條件判斷 | expr1 \| expr2 | 如果 expr1 不是零或 null 則傳回 expr1,否則傳回 expr2。 |
expr1 \& expr2 | 如果 expr1 及 expr2 都不為零或 null,則傳回 expr1,否則傳回 0。 | |
四則運算 | expr1 + expr2 | 傳回 expr1 加 expr2 後的值。 |
expr1 - expr2 | 傳回 expr1 減 expr2 後的值。 | |
expr1\* expr2 | 傳回 expr1 乘 expr2 後的值。 | |
expr1 / expr2 | 傳回 expr1 除 expr2 後的值。 | |
expr1 % expr2 | 傳回 expr1 除 expr2 的餘數。 | |
大小判斷 | expr1 \> expr2 | 如果 expr1 大於 expr2 則傳回 1,否則傳回 0。如果 expr1 及 expr2 都是數字,則是以數字大小判斷,否則是以文字判斷。以下皆同。 |
expr1 \< expr2 | 如果 expr1 小於 expr2 則傳回 1,否則傳回 0。 | |
expr1 = expr2 | 如果 expr1 等於 expr2 則傳回 1,否則傳回 0。 | |
expr1 != expr2 | 如果 expr1 不等於 expr2 則傳回 1,否則傳回 0。 | |
expr1 \>= expr2 | 如果 expr1 大於或等於 expr2 則傳回 1,否則傳回 0。 | |
expr1 \<= expr2 | 如果 expr1 小於或等於 expr2 則傳回 1,否則傳回 0。 | |
文書處理 | expr1 : expr2 | 比較一固定字串,即 regular expression。可以使用下列字元來輔助: . 匹配一個字元。 $ 找字串的結尾。 [list] 找符合 list 中的任何字串。 * 找尋 0 個或一個以上在 * 之前的字。 \( \) 傳回括號中所匹配的字串。 |
3.浮點運算:
[chengmo@centos5 ~]$ expr 5.0 - 4
expr: 非法引數
[chengmo@centos5 ~]$ echo $((5.0-4))
-bash: 5.0-4: syntax error in expression (error token is ".0-4")
從上面運算結果,看來上面表示式,不足以支援浮點運算了。查閱資料才發現:bash 不支援浮點運算,如果需要進行浮點運算,需要藉助bc,awk 處理。
方法一:
[chengmo@centos5 ~]$ c=$(echo "5.01-4*2.0"|bc)
[chengmo@centos5 ~]$ echo $c
-2.99
方法二:
[chengmo@centos5 ~]$ c=$(awk 'BEGIN{print 7.01*5-4.01 }')
[chengmo@centos5 ~]$ echo $c
31.04
注:在shell 中$() 與 ``等效。 中間包含命令語句執行,返回執行結果。
http://www.cnblogs.com/chengmo/archive/2010/09/30/1839556.html
相關文章
- Linux Shell 實現四則運算(整數及浮點)簡單方法Linux
- 簡單c++實現複數的四則運算C++
- JavaScript 浮點數及運算精度調整總結JavaScript
- java大整數四則運算Java
- Java簡單四則運算Java
- Java浮點數運算實現四捨五入和格式化方法總結Java
- Shell階段02 shell變數運算(整數運算/小數運算), shell變數案例變數
- 四則運算實現 (轉)
- 利用ANTLR4實現一個簡單的四則運算計算器
- 演算法(3)簡單四則運算演算法
- 浮點運算簡介 (轉)
- 複數的四則運算(C語言實現)C語言
- javascript將浮點數數變為整數簡單介紹JavaScript
- 浮點數在計算機底層的表示及運算計算機
- 大整數運算C#實現C#
- 深入理解浮點數的運算
- 四則運算
- XJSON 是如何實現四則運算的?JSON
- JavaScript解決浮點數算數運算精度問題JavaScript
- Linux從入門到精通系列之SHELL程式設計變數與四則運算Linux程式設計變數
- js實現的浮點數取整程式碼例項JS
- php鏈式操作實現四則鏈式運算PHP
- 實現四則運算的一條sql語句SQL
- js中浮點數計算常用方法JS
- 大數相乘(浮點數)實現
- python中精確的浮點數運算Python
- Python做浮點數(float)運算要小心Python
- 浮點數的加減乘除運算細節
- shell指令碼的一則簡單運用案例指令碼
- 四則運算計算器
- javascript實現浮點數四捨五入效果程式碼JavaScript
- 用python實現四則運算的生成與判定Python
- C++ std::list實現大整數加法運算C++
- 浮點數表示及其實現.
- 浮點運算簡介(part I)... (6千字)
- 四則運算GUI版本GUI
- 四則運算小程式
- 四則運算----封裝封裝