首頁 > php教程 > PHP开发 > 主體

Shell 中expr的使用

高洛峰
發布: 2016-11-19 11:21:59
原創
1949 人瀏覽過

1.expr指令一般用於整數值,其一般格式為:
expr argument operator argument
一般的用法是使用expr做算術運算,如:
[root@centos ~]# expr 10 + 20
30
30
$ expr 30 / 3 / 2
5
(注意運算子左右都有空格,如果沒有空格表示是字串連接)
使用乘號時,必須用反斜線屏蔽其特定意義。因為shell可能會誤解顯示星號的意義。如:
[root@centos ~]# expr 10 * 10   //:錯誤,
expr: syntax error
[root@centos ~]# expr 10 * 10  //正確
100
把輸出利用2. /dev/null,可以作判斷。
如果表達式成功,可以如下表示:
$value=12
$expr $value + 10 > /dev/null 2>&1
$echo $?
0

如果表達式失敗,則傳回非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的模式匹配:
關於expr模式匹配,可以使用expr透過指定冒號:選項指定要進行字串模式匹配。 。 " 
while [ -h "$PRG" ]; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> .∗$'`   #這裡expr的返回值為連結檔案的真實路徑
  if expr "$link" : '/.*' > /dev/null; then     PRG="$link"
  else
    PRG=`dirname "$D" `/"$link"
  fi
done

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!