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

相关内容

热门资讯

美媒:特朗普下令暂停空袭伊朗 美国“Axios”新闻网7月25日援引知情人士报道,特朗普24日指示美军不得对伊朗发动新的打击,打破...
法国野火“创历史纪录”:政坛吵... 综合法媒BFM新闻台、《费加罗报》报道,当地时间7月25日中午,内政部长努内兹(Laurent Nu...
51.79亿,携程真的疼了吗? 2026年7月25日,市场监管总局对携程反垄断案作出行政处罚:罚没款合计51.79亿元。但这个数字被...
一艘越南籍渔船在南沙遇险,29... 新华社三沙7月25日电(记者赵颖全)记者从三沙海上搜救中心获悉,25日傍晚,一艘越南籍渔船在南沙永暑...
成都如何耕好新型工业化“试验田... 7月24日,APEC数字周城市侧配套活动——制造强国建设专家研讨暨新型工业化推进交流会举行,院士专家...
活力中国调研行丨检测设备“长腿... 从排放控制的细分龙头到智能装备的新入局者,凯龙高科的转型路径,为观察传统制造业如何切入新赛道提供了一...
原创 别... 别被顶级奖项光环忽悠透了!拿菲尔兹奖的王虹,道出基础科研最现实的人间落差 开篇:大众脑补的名利双收,...
温州划龙桥惠耳——如何应对老年... 年近古稀的老人,近来时常出现耳鸣。周日,孩子们来了,跟她说话,声音小了她听不清,声音大了她嫌吵得慌,...
民调:包括共和党人在内,美国人... 据美国有线电视新闻网(CNN)当地时间24日报道,多项最新民调结果显示,包括许多共和党人在内,美国民...
一个人害得全县买不了榴莲,恶意... 作者:何涛 责编:任绍敏据央视报道,近日,湖南衡山县人民法院审结一起案件:当地一男子用AI伪造榴莲、...