Shell脚本——条件语句
admin
2023-03-06 19:22:36
0

条件测试

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

·

if语句:
单分支的if语句
双分支的if语句
多分枝的if语句

·

1、文件测试

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

基本格式

test 条件表达式 或者 [ 条件表达式 ]

文件的常见操作选项如下:

选项 描述
-d 测试是否为目录(Directory)
-e 测试目录或文件是否存在(Exist)
-f 测试是否为文件(File)
-r 测试当前用户是否有权限读取(Read)
-w 测试当前用户是否有权限写入(Write)
-x 测试是否设置有可执行(Excute)权限

执行以上操作之后,可以通过“$?”可以获得测试命令的返回状态值,从而判断是否成立

实际操作

格式一

test -d /etc/sysconfig (测试/etc里的sysconfig目录是否存在)
             echo $?(返回值为0,则条件成立)

格式二

[ -d /etc/sysconfig ]
                echo$(若条件不成立,测试值将不为0(通常为1))

整数值比较

格式格式:[ 整数1 操作符 整数2 ]

常用操作选项

1、-eq:等于(Equal)
2、-ne:不等于(Not Equal)
3、-gt:大于(Greater Than)
4、-lt:小于(Lesser Than)
5、-le:小于或等于(Lesser or Equal)
6、-ge:大于或等于(Greater or Equal)

字符串比较

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

常用操作选项

1、=:第一个字符串与第二个字符串相同
2、!=:第一个字符串与第二个字符串不相同,其或中“!”符号取反
3、-z:检查字符串是否为空,对于未定义或赋予空值的变量将视为空串

逻辑测试

格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
格式2:命令1 操作符 命令2 ...

常用操作选项

1、-a或&&:逻辑与,“而且”的意思
2、-o或||:逻辑或,“或者”的意思
3、!:逻辑否,表示“不”的意思

if语句

单分支结构

if 条件测试操作
then
   命令序列
fi

双分支结构

if 条件测试操作
then
   命令序列1
then
   命令序列2
fi

多分枝结构

if 条件测试操作
then
   命令序列1
elif 条件性测试操作2
then
   命令序列2
else
   命令序列3
fi

相关内容

热门资讯

重磅消息“新海贝之城拼三张.真... 重磅消息“新海贝之城拼三张.真的有挂吗?”必胜开挂神器您好,新海贝之城拼三张这个游戏其实有挂的,确实...
玩家最新攻略“新华棋牌.到底是... 有 亲,根据资深记者爆料新华棋牌是可以开挂的,确实有挂(咨询软件无需打开...
今日重磅消息“神赚棋牌.真的有... 家人们!今天小编来为大家解答神赚棋牌透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
我来教教您“杭州麻将.到底有挂... 家人们!今天小编来为大家解答杭州麻将透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
最新引进“摇钱树拼三张.究竟有... 最新引进“摇钱树拼三张.究竟有挂吗?”外卦神器下载您好,摇钱树拼三张这个游戏其实有挂的,确实是有挂的...
今日重大通报“同城乐吧.有没有... 网上科普关于“同城乐吧有没有挂”话题很是火热,小编也是针对同城乐吧作*弊开挂的方法以及开挂对应的知识...
终于明白“,17麻将.开挂神器... 家人们!今天小编来为大家解答,17麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买...
今日重磅消息“神殿娱乐.开挂器... 今日重磅消息“神殿娱乐.开挂器?”详细开挂教程您好,神殿娱乐这个游戏其实有挂的,确实是有挂的,需要了...
今日重大通报“新畅游互娱.到底... 家人们!今天小编来为大家解答新畅游互娱透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
终于明白“熊猫牛牛.究竟有挂吗... 您好:熊猫牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...