Shell 语言中的if elif else

本文主要介绍了Shell中if语句的相关知识。涵盖if的基本语法,包括elif的嵌套使用及空格要求;还介绍了字符串、数值、文件的判断方法,如字符串的长度、相等判断,数值的大小比较,文件的读写执行属性判断等;最后讲解了复杂逻辑判断,如与、或、非等逻辑的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、if的基本语法:

if [ command ]
then
符合该条件执行的语句
elif [ command ]
then
符合该条件执行的语句
else
符合该条件执行的语句
fi

elif可以嵌套多个
[]里边必须要加空格,必须要写成if_[条件];then,其中_代表空格

二、字符串判断

[ -z STR ] 当STR的长度为0则为真 ,即判断是否为空,空即是真(空串);
[ -n STR ] 当STR长度非0则为真 ,即判断是否为非空,非空即是真(串非空);
[ STR1 = STR2 ] 当两个字符串相同则为真 ;
[ STR1 != STR2 ] 当字符串不相同则为真 ;
[ STR1 ] 当字符串为非空时为真

三、数值判断

INT1 -eq INT2 两数相等为真 =
INT1 -ne INT2 两数不等为真 <>
INT1 -gt INT2 INT1大于INT1为真 >
INT1 -ge INT2 INT1大于等于INT2为真 >=
INT1 -lt INT2 INT1小于INT2为真 <
INT1 -le INT2 INT1小于等于INT2为真 <=

四、文件的判断

-r file  用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file  文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file  当文件描述符(默认为1)指定的设备为终端时为真

五、复杂逻辑判断

-a     与
-o    或
!    非
&&、|| 即包含又包含的意思
eg:条件如果a>b且a<c,既可以写成if [[ $a > $b ]] && [[ $a < $c ]]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值