一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Shell 中expr的使用

 linkia 2010-10-14
1.expr命令一般用于整數(shù)值,其一般格式為:
expr argument operator argument

一般的用法是使用expr做算術(shù)運(yùn)算,如:
[root@centos ~]# expr 10 + 20
30
$expr 30 / 3 / 2
5
(注意運(yùn)算符左右都有空格 ,如果沒有空格表示是字符串連接)
使用乘號時,必須用反斜線屏蔽其特定含義。因?yàn)閟hell可能會誤解顯示星號的意義。如:
[root@centos ~]# expr 10 * 10   //:錯誤,
expr: syntax error
[root@centos ~]# expr 10 \* 10  //正確
100
2.利用expr,把輸出導(dǎo)入/dev/null,可以作判斷。
如果表達(dá)式成功,可以如下表示:
$value=12
$expr $value + 10 > /dev/null 2>&1
$echo $?
0

如果表達(dá)式失敗,返回非0值
$value=hello
$expr $value + 10 > /dev/null 2>&1
$echo $?
2

3.expr也操作用于字符串
字符串比較:
expr 如果成功,返回值1,任何其他值為無效或錯誤。如下面的例子測試兩個字符串是否相等,這里字符串為“hello”和hello”。
$value=hello
$expr $value = "hello"
1
#這時候shell的返回值為0。
$echo $?
0

4.expr的模式匹配:
關(guān)于expr模式匹配,可以使用expr通過指定冒號:選項(xiàng)指定要進(jìn)行字符串模式匹配。 .*代表任
何字符重復(fù)0次或多次。返回值為括號中的內(nèi)容.
如在tomcat的catalina.sh,使用了expr的模式匹配來獲取連接文件的真實(shí)路徑,例子如下:
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ]; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> \(.*\)$'`   #這里expr的返回值為連接文件的真實(shí)路徑
  if expr "$link" : '/.*' > /dev/null; then #路徑名返回1
    PRG="$link"
  else
    PRG=`dirname "$PRG"`/"$link"
  fi
done

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产盗摄精品一区二区视频 | 日本一区二区三区黄色| 五月婷婷缴情七月丁香| 日本精品视频一二三区| 亚洲国产成人一区二区在线观看| 手机在线观看亚洲中文字幕| 欧美一级日韩中文字幕| 日本在线高清精品人妻| 五月婷婷缴情七月丁香| 日韩成人动作片在线观看| av在线免费观看一区二区三区 | 国产又粗又长又爽又猛的视频| 国产一二三区不卡视频| 亚洲中文字幕综合网在线| 97人妻精品一区二区三区男同| 亚洲专区一区中文字幕| 亚洲欧美天堂精品在线| 亚洲天堂男人在线观看| 99一级特黄色性生活片| 在线免费不卡亚洲国产| 国产精品亚洲精品亚洲| 中文字幕人妻综合一区二区| 欧美日韩亚洲巨色人妻| 成人精品视频一区二区在线观看| 欧美一级内射一色桃子| 一区二区福利在线视频| 在线日韩中文字幕一区| 国产精品一级香蕉一区| 亚洲天堂精品在线视频| 中国美女偷拍福利视频| 国内欲色一区二区三区| 欧美一区二区不卡专区| 国产亚洲系列91精品| 亚洲国产四季欧美一区| 微拍一区二区三区福利| 国产伦精品一一区二区三区高清版| 久久大香蕉精品在线观看| 久久偷拍视频免费观看| 日韩精品中文字幕亚洲| 成人午夜免费观看视频| 午夜日韩在线观看视频|