Shell脚本之条件语句
admin
2023-03-06 15:03:27
0

条件测试

1、文件测试
2、整数测试
3、字符串与逻辑测试

if语句:

if单分支语句
if双分支语句
if多分支语句
if嵌套语句

test命令:
测试特定的表达式 是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值。

格式1:test 条件表达式
格式2:[ 条件表达式 ] //注意有空格

文件测试

文件测试是指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否可读、可写、可执行等。

常用的测试操作符:

-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)

实际操作:
格式一:

test -d /etc/sysconfig (测试/etc里的sysconfig目录是否存在)
echo $?(输出值为0,则条件成立)
Shell脚本之条件语句

格式二:

[ -d /etc/sysconfig ]
echo $?(输出值为1,则条件不成立)
Shell脚本之条件语句

整数值比较:
格式:[ 整数1 操作符 整数2 ]
常用的测试操作符:

-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)

字符串比较

格式1:[ 字符串1 = 字符串2 ]
[ 字符串1 ! = 字符串2 ]
格式2:[ -z 字符串]
常用的测试i操作符:
=:字符串内容相同
!=:字符串内容不同,!表示相反的意思
-z:字符串内容为空

逻辑测试

格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
格式2:命令1 操作符 命令2 ...
常用操作选项
-a或&&:逻辑与,“而且”的意思
-o或||:逻辑或,“或者”的意思
!:逻辑否,表示“不”的意思

if语句:

单分支结构

if 条件测试操作
then
命令序列
fi
Shell脚本之条件语句
Shell脚本之条件语句

双分支结构:

if 条件测试操作
then
命令序列1
else
命令序列2
fi
Shell脚本之条件语句
Shell脚本之条件语句

多分支结构:

if 条件测试操作
then
命令序列1
elif 条件性测试操作2
then
命令序列2
else
命令序列3
fi
Shell脚本之条件语句
Shell脚本之条件语句

if嵌套语句:

实验目的:进行跑步比赛,10秒内进入决赛,输入性别后,分别提示进入男子组还是女子组,使用多重判断,嵌套if实现
Shell脚本之条件语句
Shell脚本之条件语句

相关内容

热门资讯

终于懂了“传送屋.有没有挂?”... 家人们!今天小编来为大家解答传送屋透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很多...
今日重磅消息“喜扣打筒子.有挂... 网上科普关于“喜扣打筒子有没有挂”话题很是火热,小编也是针对喜扣打筒子作*弊开挂的方法以及开挂对应的...
玩家最新攻略“小闲川南棋牌.怎... 有 亲,根据资深记者爆料小闲川南棋牌是可以开挂的,确实有挂(咨询软件无需...
终于了解“老友内蒙古麻将.有挂... 家人们!今天小编来为大家解答老友内蒙古麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪...
终于了解“想游中心五.辅助开挂... 您好:想游中心五这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游...
【第一资讯】“胡乐邯郸麻将.辅... 有 亲,根据资深记者爆料胡乐邯郸麻将是可以开挂的,确实有挂(咨询软件无需...
玩家分享攻略“天天微友棋牌.开... 您好:天天微友棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
重磅消息“小茶馆.辅助器?”太... 重磅消息“小茶馆.辅助器?”太坑了果然有挂您好,小茶馆这个游戏其实有挂的,确实是有挂的,需要了解加客...
【第一消息】“经典联盟牛牛.有... 您好:经典联盟牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款...
难得 !2026年元宵节恰逢月... 封面新闻记者 张峥 实习生 吴怡玲 2026年的元宵节,注定不一般。花灯配上月全食。 圆月 王俊峰...