目录
条件测试
$? 是命令执行之后的返回的状态码,判断命令或者脚本是否执行成功(最近的一条)
0 true 为真就是成功即条件成立 非0 false 失败或者异常
test命令
test 可以进行条件测试,然后根据返回值来判断条件是否成立
test -e 测试文件或者目录是否存在 exist
test -d 测试目录是否存在
test -f 测试文件是否存在
test -r 测试当前用户是否对文件/目录有读取权限
test -w 测试当前用户是否对文件/目录有写权限
test -x 测试当前用户是否对文件/目录有执行权限
整数比较符(以下操作符只能用于整数比较)
-eq 等于 ==即可以比较整数,也可以比较字符串
-ne 不等于 != 不等于
-gt 大于 >
-lt 小于 <
-ge 大于等于 >=
-le 小于等于 <=
第二种比较字符串格式 [ ]
第三中比较字符串格式 [[ ]] 可以使用更高级的模式,可以使用正则表达式,而且,在双中括号中,使用字符串的时候可以不加引号
第四种比较格式 (( )) 比较运算符
逻辑与 和 逻辑或
与 && 条件都满足才成立 或者 -a
或 | | 有一个条件满足就成立 或者 -o
if语法
ip地址
奇偶数
整数
case语法
作业:
1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,
大于10秒的都淘汰,
如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别。
男生进男生组,女生进女生组,如果输入错误请提示错误(整数判断,小数判断。9.72 3.21 )
3.用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
tar -zxvf tar -jxvf
4.提示用户输入内容,使用if 语句判断输入的内容是否为整数。判断范围0-100。
5.根据上一题再判断输入的内容是奇数还是偶数。
6.用if 语句判断主机是否存活.保存到/opt/hosts.txt
ping -c 5 不显示ping的过程
7.用case语句控制 firewalld start|stop|restart|status 来管理firewalld服务,
要求如果命令选项不对,则提示输入不正确: {start|stop|status|restart}”。
stop start status restart