最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

shell實(shí)現(xiàn)四則運(yùn)算簡單方法

 更新時間:2014年03月10日 14:55:12   作者:  
在剛剛學(xué)習(xí)寫shell 批處理時候,進(jìn)行邏輯運(yùn)算中,少不了需要進(jìn)行基礎(chǔ)的:四則運(yùn)算,這里說說在linux shell 里面簡單的實(shí)現(xiàn)方法

1.簡單方法

復(fù)制代碼 代碼如下:

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

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

2.其它方法:

用:expr 實(shí)現(xiàn)運(yùn)算

復(fù)制代碼 代碼如下:

$ expr 5 - 4
1

注意:將需要運(yùn)算的表達(dá)式寫入在expr 后面即可,保證 參數(shù)與運(yùn)算符號中間有空格隔開。

類別 語法 說明
條件判斷 expr1 \| expr2 如果 expr1 不是零或 null 則傳回 expr1,否則傳回 expr2。
expr1 \& expr2 如果 expr1 及 expr2 都不為零或 null,則傳回 expr1,否則傳回 0。
四則運(yùn)算 expr1 + expr2 傳回 expr1 加 expr2 后的值。
expr1 - expr2 傳回 expr1 減 expr2 后的值。
expr1\* expr2 傳回 expr1 乘 expr2 后的值。
expr1 / expr2 傳回 expr1 除 expr2 后的值。
expr1 % expr2 傳回 expr1 除 expr2 的余數(shù)。
大小判斷 expr1 \> expr2 如果 expr1 大于 expr2 則傳回 1,否則傳回 0。如果 expr1 及 expr2 都是數(shù)字,則是以數(shù)字大小判斷,否則是以文字判斷。以下皆同。
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??梢允褂孟铝凶址麃磔o助:

. 匹配一個字符。

$ 找字符串的結(jié)尾。

[list] 找符合 list 中的任何字符串。

* 找尋 0 個或一個以上在 * 之前的字。

\( \) 傳回括號中所匹配的字符串。


3.浮點(diǎn)運(yùn)算

復(fù)制代碼 代碼如下:

$ 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")

從上面運(yùn)算結(jié)果,看來上面表達(dá)式,不足以支持浮點(diǎn)運(yùn)算了 。 查閱資料才發(fā)現(xiàn):bash 不支持浮點(diǎn)運(yùn)算,如果需要進(jìn)行浮點(diǎn)運(yùn)算,需要借助bc,awk 處理。

方法一:

復(fù)制代碼 代碼如下:

[chengmo@centos5 ~]$ c=$(echo "5.01-4*2.0"|bc)
[chengmo@centos5 ~]$ echo $c
-2.99

方法二:

復(fù)制代碼 代碼如下:

[chengmo@centos5 ~]$ c=$(awk 'BEGIN{print 7.01*5-4.01 }')
[chengmo@centos5 ~]$ echo $c
31.04

注:在shell 中$() 與 ``等效。 中間包含命令語句執(zhí)行,返回執(zhí)行結(jié)果。

相關(guān)文章

最新評論

潮州市| 行唐县| 翼城县| 建湖县| 涿州市| 南充市| 榆社县| 宁化县| 裕民县| 宜州市| 伊吾县| 鹤岗市| 青冈县| 阿合奇县| 香港 | 蓬莱市| 留坝县| 改则县| 万全县| 井陉县| 五家渠市| 奎屯市| 麦盖提县| 清苑县| 若尔盖县| 利津县| 新宁县| 新疆| 陈巴尔虎旗| 齐齐哈尔市| 景泰县| 金阳县| 大同县| 阿尔山市| 百色市| 平泉县| 平阳县| 江陵县| 商洛市| 射洪县| 新乡市|