expr 去除首尾的空格
c=" abcd1234 "
r=`expr "$c" : '[[:space:]]*\(.*\)[[:space:]]*$'`
[root@localhost script]# echo "$r"
abcd1234
expr 计算长度
expr length "$a"
expr
通用求值表达式, 通过给定的操作(参数必须 以空格分开)连接参数,并对参数求值,可以使算术操作,比较操作,字符操作或者逻辑操作
expr 3 +5
expr 5 % 3
expt 1 / 0
error expr: division bu zero
expr 5 \* 3
算术表达式中使用乘法操作,乘法符号必须被转义
y=`expr $y + 1`
增加变量的值于 let y=y+1 y=$((y+1))相同
常用的比较操作有 < > <= >= 等等
使用的时候也需要转义 = 不需要
比较操作返还1 true 0 false
a=1;b=1
c=`expr $a = $b`
echo $c
1
d=`expr $a \> $b`
echo $d
0
a=1234zipper43231
计算$a的长度
expr length $a
从字符串的开头查找匹配的字符
b=`expr index "$a" 23`
echo $b
2
截取字符串
c=`expr substr $a 2 4`
match 默认是从字符串的开头进行搜索
b=`expr match "$a" '[0-9]*'` #返回数字的个数
c=`expr match "$a" '\([0-9]*\)'` # 返回1234
: 和 match 相同
expr "$a" : '\(.\)' # 返回第一个字符 1
如果不加括号的话,
expr "$a" : '.*' # 返回$a的长度
b=`expr "$a" : '\(.....\)' `
echo $b
1234z #返回开头的5个字符
b=`expr "$a" : '.*\(.....\)' `
echo $b
43231 #返回结尾的5个字符