一.命令执行结果判定
&& 在命令执行后如果没有任何报错时会执行符号后面的动作
|| 在命令执行后如果命令有报错会执行符号后的动作
二.条件判断方法
在shell程序中,用户可以使用测试语句来测试指定的条件表达式的条件的真或假
a) test示例
b) [ ] 示例
c) [[ ]] 示例
d) (()) 示例
三.判断表达式
1.文件判断表达式
a)判断文件时否存在
b)判断文件类型(块文件)
c)判定文件权限
d) -u
e)文件lee1比文件lee新则为真,根据文件的修改时间来计算
f)文件lee1比文件lee旧则为真,根据文件的修改时间来计算
2.字符串测试表达式
1.检测变量是否未空
2.比较字符
四.阶端练习脚本
编写效果如下:
[root@timinglee ~]# sh checkfile.sh
please input filename: # 当未输入任何字符时回车
Error: no checkfilename,Please input filename for check !! # 报错
please input filename: /mnt/leefile # 当输入/mnt/leeifle时
文件不存在时
/mnt/file is not exist
当文件存在时输入文件类型
/mnt/file is commom file # 注意文件是什么类型就输出文件类型的相关输出
编写脚本:
五.整数测试表达式
1.相等或不等
2.大小对比
六.逻辑操作符
七.判定综合训练
1.请用判定的方式书写一个1分10秒的倒计时,确保倒计时器符合日常显示规则
2.请书写一个猜数游戏,要求如下
[root@timinglee ~]# guest_number.sh
please input a number between 0 ~ 9: # 此处没有输出字符报错并从新开启输入提示符
Error:Please input a number between 0 - 9
please input a number between 0 ~ 9:
[root@timinglee ~]# guest_number.sh
please input a number between 0 ~ 9: 11 # 此处没有输出字符报错并从新开启输入提示符
Error:11 is not between 0 ~ 9,Please input a number between 0 - 9
please input a number between 0 ~ 9:
[root@timinglee ~]# guest_number.sh
please input a number between 0 ~ 9: 5 # 脚本开始判定是不是幸运数字,假设幸运数字为2
5 is too big
please input a number between 0 ~ 9: 1
1 is too small
please input a number between 0 ~ 9: exit
bye
please input a number between 0 ~ 9: 2
HAHAHA!!! YES You are right !!
Please again?(y/n): # y重复执行上述动作,n退出