linux 条件语句和逻辑判断
目录
一、条件判断
二、逻辑判断
三、if和case
四、七个实验
一、条件判断
1.test测试
test [ 条件表达式 ]
-e:测试目录是否存在
-d:测试是否为目录
-f:是否为文件
-r:当前用户是否有读写权限
-w:当前用户是否有写权限
-x:当前用户是否有执行权限
2.整数值判断
格式[数值1 符号 数值2 ]
选项:-eq:等于(==)
提醒:再vim中只能使用命令判断,不能使用除==以外的符号判断,
使用汉字引用时,要用==,例子:if [ $a == "男" ],使用-eq会无法读取汉字
-ne:不等于(!=)
-gt:大于(>)
-lt:小于(<)
-le:小于等于(<=)
-ge: 大于等于(>=)
例子演示: (符号判断一般使用再vim脚本里)
二、逻辑判断
1.且(-a,&&)
例子:
2.或(-o,|| )
例子:
3.否(!)
三、if和case
演示如第四章七个实验
1.if语句
单分支if语句:
if
then
fi
双分支if语句:
if [ ]
then
else
if
多分支if语句:
if [ ]
then
elif [ ]
then
fi
2.case
语句格式:case 变量 in
模式1)
命令
;;
模式2)
命令
;;
*)
命令
;;
esac
四、七个实验
1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,
如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,
男生进男生组,女生进女生组,如果输入错误请提示错误
3.用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt目录
4.提示用户输入内容,使用if 语句判断输入的内容是否为整数。
5.根据上一题再判断输入的内容是奇数还是偶数。
6.用if 语句判断主机是否存活
ping -c 5
7.用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中
使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,
要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。