欢迎光临
我们一直在努力

Shell编程——条件判断(2)

Shell编程之条件判断

条件测试操作

test命令

测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ]

文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
-d:测试是否为目录
-e:测试目录或文件是否存在
-f:测试是否为文件
-r:测试当前用户是否有权限读取
-w:测试当前用户是否有权限写入
-x:测试当前用户是否有权限执行

整数值比较
[ 整数1 操作符 整数2 ]
常用的测试操作符
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于或等于
-ge:大于或等于

字符串比较
格式1:[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
格式2:[ -z 字符串 ]

逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ]…
格式2:命令1 操作符 命令2 …
常用的测试操作符
-a或&&:逻辑与,”而且”的意思
-o或||:逻辑或,”或者”的意思
!:逻辑否

If语句的结构

单分支结构

if                          //条件测试操作
    then                  //命令序列
fi                        //结束命令序列判断

脚本实例:
#!/bin/bash
#比较输入的整数大不大
read -p "请输入一个整数:" num
if [ $num -ge 5 ]
 then
        echo "这个数大"
fi

双分支结构

if   //条件测试操作
    then                      //命令序列1
    else                    //命令序列2
fi                         //结束命令序列判断

脚本实例:
#!/bin/bash
#比较输入的整数大不大
read -p "请输入一个整数:" num
if [ $num -ge 5 ]
 then
        echo "这个数大"
 else
        echo "这个数小"
fi

多分支结构

if //条件测试操作1
    then                      //命令序列1
elif                          //条件测试操作2
    then                     //命令序列2else            
   //命令序列3
fi//结束命令序列判断

#!/bin/bash
read -p "请输入你的成绩:" num
if [ $num -gt 85 ] && [ $num -le 100 ]
 then
        echo "优秀"
elif [ $num -gt 60 ] && [ $num -le 85 ]
 then
        echo "良好"
 else
        echo "不及格"
fi

嵌套if语句

#!/bin/bash
read -p "请输入你的比赛时间:" num
if [ $num -lt 10 ]
 then
        echo "恭喜你进入决赛"
 read -p "您的性别是:" sex
 if [ $sex = "男" ]
  then
        echo "您进入男子组"
 else
        echo "您进入女子组"
 fi
else
        echo "抱歉你无缘决赛"
fi

谢谢阅读!!!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。