Appearance
expr
- 运算符两侧一定加空格
- 变量一定要加
$ - 不支持自增自减和幂运算
|和&没有短路- 支持更多运算,字符串的运算
- 会回显,获取结果需要使用命令置换符
| & . * > <等算术运算符需要转义
expr 的条件运算
bash
arg1 | arg2
# 如果 arg1 的值不为 0,返回 arg1 的值,否则返回 arg2 的值
arg1 & arg2
# 如果参数的值不为 0,返回 arg1 的值否则返回 arg2 的值
# 两个参数的值都不能为空,也不能不定义
arg1 < arg2
arg1 <= arg2
arg1 = arg2
arg1 != arg2
arg1 >= arg2
arg1 > arg2expr 的算术运算
bash
arg1 + arg2
arg1 - arg2
arg1 * arg2
arg1 / arg2
arg1 % arg2expr 的字符串运算
match返回str2在str1中完全匹配的个数
bash
match $str1 $str2index返回字符最早出现的位置- 如果查找多个字符,会按照每个字符查找,以第一个找到的位置为准
bash
expr index "hello" "bl" # 返回的值为 3length返回字符的长度
bash
expr length "hello"