expr命令: expr命令是一個手工命令行計數器,用於在UNIX/LINUX下求表達式變數的值,一般用於整數值,也可用於字元串。 –格式為: expr Expression(命令讀入Expression 參數,計算它的值,然後將結果寫入到標準輸出) –參數應用規則: 用空格隔開每個項; 用 \ ( ...
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”
為了便於交流,大家可以進群交流,分享經驗,共同進步!