第六天:shell算术、逻辑运算及测试命令
一、算术运算
SHELL允许在某些情况下对算术表达式进行求值; bash 只支持整数,不支持小数
1、实现算术运算
2、内建的随机数生成器变量
$RANDOM 取值范围:0-32767
3、增强型赋值:let varOPERvalue
二、逻辑运算
与:&
或:|
非:!
异或:^ 相同为假,不同为真
1、 短路运算
短路与 && CMD1 && CMD2 当1为真时,再计算2值; 当1为假时,结果为0,不再执行2
短路或 ||
短路与 和短路或 组合 : CMD1 && CMD2 || CMD3 先执行与再执行或,反过来不使用。
三、条件测试命令
1、条件测试命令格式
test EXPRESSION
[EXPRESSION] 和test等价,建议使用【】
[[EXPRESSION]] 相当于增强版的【】,支持【】的用法 ,且支持扩展正则表达式和通配符
2、变量测试
【 -v NAME】 判断NAME变量是否定义
3、数值测试
-eq 是否等于 ==
-ne 是否不等于 !=
-gt 是否大于 >
-ge 是否大于等于 >=
-lt 是否小于 <
-le 是否小于等于 <=
4、字符串测试
5、文件测试
四、关于()和{}
(CMD1; CMD2;...)和{CMD1;CMD2; ....;}都可以将多个命令组合在一起,批量执行
五、组合测试条件
1、第一种方式
2、第二种方式
六、使用read命令来接受输入
使用read来把输入值分配给一个或多个shell变量,read从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量,如果变量名没有指定,默认标准输入的值赋值给系统内置变量REPLY
格式:
read [options] [name...]
常见选项:
-p 指定要显示的提示 -s 静默输入, 一般用于密码 -n N 指定输入的字符长度N -d '字符' 输入结束符 -t N TIMEOUT为N秒