expr命令:
expr命令是一個手工命令行計數器,用於在UNIX/LINUX下求表達式變量的值,一般用於整數值,也可用於字符串。
–格式為:
expr Expression(命令讀入Expression 參數,計算它的值,然后將結果寫入到標准輸出)
–參數應用規則:
用空格隔開每個項;
用 \ (反斜杠) 放在 shell 特定的字符前面;
對包含空格和其他特殊字符的字符串要用引號括起來
–expr用法實例講解:
expr命令一般用於整數值,但也可用於字符串
一般格式為:
#expr argument operator argument
expr也是一個手工命令行計數器:
>#expr 10 + 10
>20
注意:運算符號兩邊都有空格
使用乘法計算時,要使用斜線將*進行轉義,否則shell解釋器會解析*特殊符號的
>expr 20 \* 2
>40
增量計數
expr在循環中用於增量計算。首先,循環初始化為0,然后循環值加1,反引號的用法意
即替代命令。最基本的一種是從(expr)命令接受輸出並將之放入循環變量。
$a=0
b=`expr $a + 1`
數值測試
可以用expr測試一個數。如果試圖計算非整數,將返回錯誤。
非整數:
# rr=1.1
# expr $rr + 1
expr: non-integer argument
整數:
# bb=1
# expr $bb + 1
2
模式匹配
expr也有模式匹配功能。可以使用expr通過指定冒號選項計算字符串中字符數。.*意即任何字符重復0次或多次
# value=linux.do
# expr $value : '.*'
8
數組
$varname[0]=value1
$varname[1]=value2
....
來定義用
$echo ${varname[0]}
方式來引用
### 字串長度
shell>> expr length "this is a test"
14
### 數字商數
shell>> expr 14 % 9
5
### 從位置處抓取字串
shell>> expr substr $value 2 3
inu
### 數字串 only the first character
shell>> expr index $value u
4
### 字串真實重現
shell>> expr $value
linux.do
注:本文中所有的$value都是在環境中預先定義的變量“value=linux.do”
為了便於交流,大家可以進群交流,分享經驗,共同進步!