本篇文章給大家分享的是有關(guān)使用Shell expr命令怎么對(duì)整數(shù)進(jìn)行計(jì)算,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
expr 是 evaluate expressions 的縮寫,譯為“表達(dá)式求值”。Shell expr 是一個(gè)功能強(qiáng)大,并且比較復(fù)雜的命令,它除了可以實(shí)現(xiàn)整數(shù)計(jì)算,還可以結(jié)合一些選項(xiàng)對(duì)字符串進(jìn)行處理,例如計(jì)算字符串長(zhǎng)度、字符串比較、字符串匹配、字符串提取等。
Shell expr 對(duì)于整數(shù)計(jì)算的用法為:
expr 表達(dá)式
expr 對(duì)表達(dá)式的格式有幾點(diǎn)特殊的要求:
出現(xiàn)在表達(dá)式中的運(yùn)算符、數(shù)字、變量和小括號(hào)的左右兩邊至少要有一個(gè)空格,否則會(huì)報(bào)錯(cuò)。
有些特殊符號(hào)必須用反斜杠\進(jìn)行轉(zhuǎn)義(屏蔽其特殊含義),比如乘號(hào)*和小括號(hào)(),如果不用\轉(zhuǎn)義,那么 Shell 會(huì)把它們誤解為正則表達(dá)式中的符號(hào)(*對(duì)應(yīng)通配符,()對(duì)應(yīng)分組)。
使用變量時(shí)要加$前綴。
【實(shí)例1】expr 整數(shù)計(jì)算簡(jiǎn)單舉例:
[jb51.net]$ expr 2 +3 #錯(cuò)誤:加號(hào)和 3 之前沒(méi)有空格 expr: 語(yǔ)法錯(cuò)誤 [jb51.net]$ expr 2 + 3 #這樣才是正確的 5 [jb51.net]$ expr 4 * 5 #錯(cuò)誤:乘號(hào)沒(méi)有轉(zhuǎn)義 expr: 語(yǔ)法錯(cuò)誤 [jb51.net]$ expr 4 \* 5 #使用 \ 轉(zhuǎn)義后才是正確的 20 [jb51.net]$ expr ( 2 + 3 ) \* 4 #小括號(hào)也需要轉(zhuǎn)義 bash: 未預(yù)期的符號(hào) `2' 附近有語(yǔ)法錯(cuò)誤 [jb51.net]$ expr \( 2 + 3 \) \* 4 #使用 \ 轉(zhuǎn)義后才是正確的 20 [jb51.net]$ n=3 [jb51.net]$ expr n + 2 #使用變量時(shí)要加 $ expr: 非整數(shù)參數(shù) [jb51.net]$ expr $n + 2 #加上 $ 才是正確的 5 [jb51.net]$ m=7 [jb51.net]$ expr $m \* \( $n + 5 \) 56
以上是直接使用 expr 命令,計(jì)算結(jié)果會(huì)直接輸出,如果你希望將計(jì)算結(jié)果賦值給變量,那么需要將整個(gè)表達(dá)式用反引號(hào)``(位于 Tab 鍵的上方)包圍起來(lái),請(qǐng)看下面的例子。
【實(shí)例2】將 expr 的計(jì)算結(jié)果賦值給變量:
[jb51.net]$ m=5 [jb51.net]$ n=`expr $m + 10` [jb51.net]$ echo $n 15
以上就是使用Shell expr命令怎么對(duì)整數(shù)進(jìn)行計(jì)算,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:使用Shellexpr命令怎么對(duì)整數(shù)進(jìn)行計(jì)算-創(chuàng)新互聯(lián)
本文URL:http://chinadenli.net/article4/cogsoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、全網(wǎng)營(yíng)銷推廣、網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站、軟件開發(fā)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容