「4月日新计划更文活动」
expr的使用
- 用于整数计算的用法
- 使用
expr命令,计算结果会直接输出,如果希望将计算结果赋值给变量,需要将整个表达式用反引号``包围起来
expr 表达式
注意:
- 表达式与运算符之间要有空格,操作符的两边,都需要有空格
expr不可以进行自增++和自减--运算- 使用变量时要加
$前缀 - 有些特殊符号必须用反斜杠``进行转义,比如:乘号
*、小括号()
赋值给变量
- 将计算结果赋值给变量,使用反引号
``将整个表达式包围起来
num=`expr 10 + 10`
echo $num
字符串操作
计算字符串长度
- 主要用于计算字符串长度(包含空格在内)
- 语句格式:
expr length STRING
expr length "cccc num"
返回第一个在string中字符的位置
- 只返回第一个在STRING中字符的位置,如果CHARSET中字符都不在STRING中,那么返回0
- 语句格式:
expr index STRING CHARSET
expr index "num look at me" m
提取字符串的子串
- 语句格式:
expr substr STRING POSITION LENGTH - 参数说明:
-
STRING****:内容POSITION:起始位置(从1开始)LENGTH:截取子串的长度
expr substr "my name is seven" 6 9
算数运算符操作
- 加法
arg1 + arg2 - 减法
arg1 + arg2 - 乘法
arg1 * arg2,如需使用乘法需要进行转义* - 除法
arg1 / arg2 - 余数
arg1 % arg2 - 幂数
arg1 * arg1 * arg1
expr 20 + 4
expr 14 - 1
expr 15 * 3
expr 18 / 2
expr 15 % 4
expr 2 * 2 * 2
逻辑运算符
使用>,>=,<,<=
- 使用
=,相等返回1,不等返回0 - 使用
!=,不等返回1,相等返回0 - 使用
>,大于返回1,否则返回0 - 使用
>=,大于或者等于返回1,否则返回0 - 使用
<,小于返回1,否则返归0 - 使用
<=,小于等于返回1,否则返回0
注意:当所有的参数都是数值才按数值比较,否则按照字典顺序比较