expr 可以進行的操作如下:
邏輯操作
arg1 | arg2 邏輯或操作,真則返回arg1,否則返回arg2(以null或者0來判斷引數的真假,有短路功能)
arg1 & arg2 邏輯與操作,真則返回arg1,否則返回arg2(以null或者0來判斷引數真假,有短路功能)
關係操作
arg1 = arg2(或者arg1 == arg2)相等返回1,不等返回0
arg1 != arg2 不等返回1,相等返回0
arg1 > arg2 大於返回1,否則返回0
arg1 >= arg2 大於等於返回1,否則返回0
arg1 < arg2 小於返回1,否則返回0
arg1 <= arg2 小於等於返回1,否則返回0
需要注意的是在關係操作附中,只有所有的引數都是數值才按數值比較,否則,按字典順序比較
算數操作
arg1 + arg2
arg1 - arg2
arg1 * arg2
arg1 / arg2
arg1 % arg2
需要注意的是*在shell有其他意義,因此需要轉義使用\*
字串操作
string : regexp
1) regexp代表正規表示式,並且該表示式隱含帶有^,即regxp就是^regexp;
2) 如果regexp中沒有\(和\),那麼返回匹配的字元個數,或者完全不匹配返回0;如果帶有\(或者\),那麼就返回\(和\)包含的字串,或者不匹配返回null
match string regexp
類string : regexp相同
substr string position length
返回從position(從1開始),長length的子字串,如果position和length為0,負數,或者非負數,那麼返回null
index string charset
charset中可以包含多個字元,但是只是返回第乙個在string中字元的位置,如果charset中的字元都不在string中,那麼返回0
length string
返回string的長度
+ token
將token解釋為字串,即使token是關鍵字,比如expr index index n,由於第二個index是expr語法的關鍵字,因此會報錯,處理的方式就是如下處理:expr index + index n
所有上面表示式需要注意的是,操作符兩邊一定要有空格。
shell中的 expr命令的一些小用法
用途 求表示式變數的值 語法 expr expression 描述 expr 命令讀入 expression 引數,計算它的值,然後將結果寫入到標準輸出。用例 1.expr substr string1 startposition length 返回字串 hello world 中從位置3開始的5個...
linux系統中expr命令
1 linux系統中expr命令實現命令列中的四則運算 簡單示例 root linuxprobe test expr 5 3 在命令列中實現加法運算 8 2 中間必須有空格 root linuxprobe test expr 5 3 中間必須有空格 5 3 root linuxprobe test ...
shell 關於expr的用法
關於expr的用法 2004 04 23 15 18 pm 來自 linux文件 現載 www.8s8s.com 我執行了一下,沒有錯啊 你用的是什麼平台?什麼shell?我執行了一下,也沒有錯啊 hp ux ksh 請問 sum和 的值必須是整數嗎?hp ux上提供的ksh不支援陣列,所以sale...