千家信息网

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

发表于:2025-02-11 作者:千家信息网编辑
千家信息网最后更新 2025年02月11日,Shell编程之条件判断条件测试操作test命令测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值格式1:test 条件表达式格式2:[ 条件表达式 ]文件测试[ 操作符 文
千家信息网最后更新 2025年02月11日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 "请输入一个整数:" numif [ $num -ge 5 ] then        echo "这个数大"fi

双分支结构

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

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

多分支结构

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

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

嵌套if语句

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

谢谢阅读!!!

0