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
谢谢阅读!!!
原文地址:https://blog.51cto.com/14080162/2440562
时间: 2024-10-11 16:46:04