主頁 > 知識庫 > shell實現四則運算簡單方法

shell實現四則運算簡單方法

熱門標簽:河南信譽好的不封卡電話外呼系統(tǒng) 打電話機器人接我是他的秘書 揭陽智能電話機器人推薦 江蘇云電銷機器人公司 如果做線上地圖標注 客服外呼系統(tǒng)怎么樣 地圖標注員都是年輕人 百度地圖標注錯了有責任嗎 華鋒e路航港口地圖標注

1.簡單方法

復制代碼 代碼如下:

$ b=$((5*5+5-3/2))
$ echo $b
29

在linux shell中,我們可以使用 $(()) 將表達式放在括號中,即可達到運算的功能。

2.其它方法:

用:expr 實現運算

復制代碼 代碼如下:

$ 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.浮點運算

復制代碼 代碼如下:

$ expr 5.0 - 4
expr: non-integer argument
$ echo $((5.0-4))
-bash: 5.0-4: syntax error in expression (error token is ".0-4")

從上面運算結果,看來上面表達式,不足以支持浮點運算了 。 查閱資料才發(fā)現: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 中$() 與 ``等效。 中間包含命令語句執(zhí)行,返回執(zhí)行結果。

您可能感興趣的文章:
  • SHELL四則運算和比較

標簽:淘寶邀評 許昌 赤峰 金昌 邵陽 婁底 馬鞍山 巴彥淖爾

巨人網絡通訊聲明:本文標題《shell實現四則運算簡單方法》,本文關鍵詞  shell,實現,四則運算,簡單,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《shell實現四則運算簡單方法》相關的同類信息!
  • 本頁收集關于shell實現四則運算簡單方法的相關信息資訊供網民參考!
  • 推薦文章