条件测试
文件测试
整数测试
字符串与逻辑测试
if语句
if单分支语句
if双分支语句
if多分支语句
if嵌套语句 bash
格式1: test 条件表达式 格式2:[ 条件表达式 ]
-d:测试是否为目录(Directory) -e:测试目录或文件是否存在(Exist) -f:测试是否为文件(File) -r:测试当前用户是否有权限读取(Read) -w:测试当前用户是否有权限写入(Write) -x:测试当前用户是否有权限执行(eXcute)
[root@localhost ~]# test -d /etc/yum //测试/etc/yum是不是目录 [root@localhost ~]# echo $? //上一条命令执行状态0就是正常执行,1就是错误 0 [root@localhost ~]# test -f /etc/yum //测试/etc/yum是不是文件 [root@localhost ~]# echo $? 1 [root@localhost ~]# test -e /etc/yum //测试/etc/yum是否存在 [root@localhost ~]# echo $? 0 [root@localhost ~]#
-eq:等于(Equal) -ne:不等于(Not Equal) -gt:大于(Greater Than) -lt:小于(Lesser Than) -le:小于或等于(Lesser or Equal) -ge:大于或等于(Greater or Equal)
[root@localhost ~]# [ $(who|wc -l) -gt 10 ]&& echo "有点多!" //统计当前用户量
有点多!ide
=:字符串内容相同 !=:字符串内容不一样,!表示相反的意思 -z:字符串内容为空
-a或&&:逻辑与、“并且”的意思 -o或||: 逻辑或、“或者”的意思 !:逻辑否 [root@localhost ~]# [ ! -e /opt/abc ]&&mkdir /opt/abc // /opt/abc这个目录不存在我就建立这个目录 [root@localhost ~]# ls /opt abc rh
#!/bin/bash mulu="/etc/ccc" if [ ! -d $mulu ] then mkdir -p $mulu fi
#!/bin/bash ping -c 3 -i 0.2 -W 3 $1 &>/dev/null if [ $? -eq 0 ] then echo "Host $1 is up " else echo "Host $1 is down " fi -C发数据包 ,-0.2每隔两秒发一次 -W 3次回复 全部输出到这个无用的目录中 [root@localhost ~]# ./c.sh Host is down
#!/bin/bash #一场跑步比赛,10秒内进入决赛,进入决赛以后会被分进男子组或女子组 read -p "请输入你的比赛时间" soucre if [ $soucre -lt 10 ] then echo "进入决赛" read -p "请输入你的性别(男/女) " sex if [ $sex = "男" ] then echo "进入男子组" else echo "进入女子组" fi else "被淘汰" fi ~ ~