expr命令一般用于整數(shù)值,但也可用于字符串。
我們注重客戶提出的每個(gè)要求,我們充分考慮每一個(gè)細(xì)節(jié),我們積極的做好成都做網(wǎng)站、網(wǎng)站制作服務(wù),我們努力開拓更好的視野,通過不懈的努力,創(chuàng)新互聯(lián)贏得了業(yè)內(nèi)的良好聲譽(yù),這一切,也不斷的激勵(lì)著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),微信小程序開發(fā),網(wǎng)站開發(fā),技術(shù)開發(fā)實(shí)力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術(shù)開發(fā)工程師。1.expr計(jì)數(shù)器功能。
expr 10 + 10
20
expr 1500 + 900
2500
expr 30 / 3
10
expr 30 / 3 / 2
5
(注意運(yùn)算符左右都有空格)
使用乘號(hào)時(shí),必須用反斜線屏蔽其特定含義。因?yàn)閟hell可能會(huì)誤解顯示星號(hào)的意義。
expr 30\* 3
90
2.計(jì)算字串長度
expr length “this is a test”
14
3.抓取字串
expr substr “this is a test” 3 5
is is
4.抓取第一個(gè)字符數(shù)字串出現(xiàn)的位置
expr index "sarasara" a
2
5.expr增量計(jì)數(shù)
expr在循環(huán)中用于增量計(jì)算。首先,循環(huán)初始化為0,然后循環(huán)值加1,反引號(hào)的用法意
LOOP=0
LOOP=`expr $LOOP + 1`
6.expr判斷是否為整數(shù)
可以用expr測(cè)試一個(gè)數(shù)。如果試圖計(jì)算非整數(shù),將返回錯(cuò)誤。
rr=1.1
expr $rr + 1
expr: non-numeric argument
rr=2
expr $rr + 1
3
(注意:這個(gè)例子與原文不同)
這里需要將一個(gè)值賦予變量(不管其內(nèi)容如何),進(jìn)行數(shù)值運(yùn)算,并將輸出導(dǎo)入dev/null,
然后測(cè)試最后命令狀態(tài),如果為0,證明這是一個(gè)數(shù),其他則表明為非數(shù)值。
value=12
expr $value + 10 > /dev/null 2>&1
echo $?
0
這是一個(gè)整數(shù)。
value=hello
expr $value + 10 > /dev/null 2>&1
echo $?
2
這是一個(gè)非數(shù)值字符。
7.expr本身退出狀態(tài)為1
expr也可以返回其本身的退出狀態(tài),不幸的是返回值與系統(tǒng)最后退出命令剛好相反,成功返回1,任何其他值為無效或錯(cuò)誤。下面的例子測(cè)試兩個(gè)字符串是否相等,這里字符串為“hello”和“hello”。
value=hello
expr $value = "hello"
1
echo $?
0
expr返回1。不要混淆了,這表明成功?,F(xiàn)在檢驗(yàn)其最后退出狀態(tài),返回0表示測(cè)試成功,
“hello”確實(shí)等于“hello”。
8.模式匹配 :
expr也有模式匹配功能。可以使用expr通過指定冒號(hào)選項(xiàng)計(jì)算字符串中字符數(shù)。.*意即任何字符重復(fù)0次或多次。
value=accounts.doc
expr $value : '.*'
12
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。