Shell编程——条件判断(2)
admin
2023-03-06 07:22:38
0

Shell编程之条件判断

条件测试操作

test命令

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

文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
-d:测试是否为目录
-e:测试目录或文件是否存在
-f:测试是否为文件
-r:测试当前用户是否有权限读取
-w:测试当前用户是否有权限写入
-x:测试当前用户是否有权限执行
Shell编程——条件判断(2)
整数值比较
[ 整数1 操作符 整数2 ]
常用的测试操作符
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于或等于
-ge:大于或等于
Shell编程——条件判断(2)
字符串比较
格式1:[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
格式2:[ -z 字符串 ]
Shell编程——条件判断(2)
逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ]...
格式2:命令1 操作符 命令2 ...
常用的测试操作符
-a或&&:逻辑与,”而且”的意思
-o或||:逻辑或,”或者”的意思
!:逻辑否
Shell编程——条件判断(2)

If语句的结构

单分支结构

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

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

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

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

双分支结构

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

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

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

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

多分支结构

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

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

#!/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

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

嵌套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

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

谢谢阅读!!!

相关内容

热门资讯

首届“泉城杯”国际人形机器人全... 济南广电·天下泉城客户端5月8日讯一场跨越国界的智能体育盛宴即将燃爆泉城。2026年首届“泉城杯”国...
切尔诺贝利核禁区发生大火,过火... 新华社基辅5月8日电(记者李东旭)乌克兰国家紧急情况局8日说,切尔诺贝利核禁区发生大火,并受大风天气...
伊朗大使:不接受任何军事威胁下... 据凤凰卫视报道,5月8日,伊朗驻华大使馆召开记者会,大使法兹里在回应近期海湾局势时表示,伊朗日前向美...
国民党痛批赖清德:把司法当东厂... 据凤凰卫视报道,国民党和民众党联手否决了赖清德提名的检察机构负责人选,但赖清德并未重新提名新人选,而...
男子给婚外情对象转账22万余元... 男子谭某和妻子梁某在1991年结婚,婚后育有两女。2020年时,谭某结识女子贺某后,二人发生婚外情关...
钧正平:为什么说东京审判还没有... 今年是东京审判开庭80周年,我们在此回顾三个故事。东京审判现场。被偷走的骨灰1948年12月23日午...
国乒男团3比0韩国,晋级世乒赛... 北京时间5月8日,2026伦敦世乒赛男团1/4决赛,国乒男团以总比分3比0战胜韩国队,晋级半决赛。本...
美国公布首批UFO相关政府文件... 美国国防部5月8日公布了首批“与外星人、地外生命、不明空中现象(UAP)以及不明飞行物(UFO)相关...
外交部:日本军国主义侵略罪行罄... 在东京审判开庭80周年之际,《远东国际军事法庭庭审记录·全译本》日前在中国首发。外交部发言人林剑5月...
“一顿海鲜餐被收1800元”游... 5月4日晚,一湖南游客在海南三亚海棠区椰某韵餐饮店吃海鲜餐时,两份海鲜菜品及酒水饮料等被收了1800...