一、shell运算符
1.1 算术运算符
expr命令
expr 是 evaluate expressions 的缩写,译为"求值表达式”。Shell expr 是一个功能强大,并且比较复杂的命令,它除了可以实现整数计算,还可以结合一些选项对字符串进行处理,例如计算字符串长度、字符串比较、字符串匹配、字符串提取等,后续讲解。
- 整数计算
- 计算字符串长度
- 字符串比较
- 字符串匹配
- 字符串提取
expr 算术运算符表达式
获取计算结果赋值给新变量语法
result=`expr 算术运算符表达式`
注意: 这里是 反引号 ``
1.1.1 求值表达式
expr 1 + 1 #2
运算一定要有空格
expr \( 10 + 10 \) \* 2 + 100
案例:
1.1.2 计算字符串长度
1.2 比较运算符
1.2.1 整数比较运算符
整数比较运算符只支持整数,不支持小数与字符串(字符串比较后续讲解),除非字符串的值是整数数字。
每个命令都有返回值,这个后面我们会讲解退出状态再具体说明,返回0代表成功,返回1代表失败
1.2.2 字符串比较运算符
可以比较2个变量,变量的类型可以为数字 (整数,小数)与字符串
推荐 [[]]
- [[]] 和[]的区别
① word splitting的发生
[[]] 不会有word splitting发生
[]会有word splitting发生
word splitting 会将含有空格字符串进行分拆分割后比较
- 转义字符
[[]] 对< 不需要转义,格式为 [[ 字符串1 < 字符2 ]]
[] 需要对 <,>转义,格式为[ 字符串1 \< 字符串2 ]
1.3 布尔运算符
1.4 逻辑运算符
1.5 文件测试运算符
能够使用常用文件测试运算符检查文件
例如: 文件是否存在、是否可读、是否可执行、是否为空、是否可写、是否是目录、是否是普通文件
文件测试运算符用于检测文件的各种属性
属性检测描述如下