shell脚本:if语句

一、比较字符

符号含义
-eq等于
-ne不等于
-gt大于
-lt小于
-le小于等于
-ge大于等于
-z空串
=两个字符相等
!=两个字符不等
-n非空串

二、条件判断

1、字符串判断

内容解析
str1 = str2当两个串有相同内容、长度时为真
str1 != str2当串str1和str2不等时为真
-n str1当串的长度大于0时为真(串非空)
-z str1当串的长度为0时为真(空串)
str1当串str1为非空时为真

2、数字的判断

内容解析
int1 -eq int2两数相等为真
int1 -ne int2两数不等为真
int1 -gt int2int1大于int2为真
int1 -ge int2int1大于等于int2为真
int1 -lt int2int1小于int2为真
int1 -le int2int1小于等于int2为真

3、文件相关的if判断条件语句

内容解析
-r file用户可读为真
-w file用户可写为真
-x file用户可执行为真
-f file文件为正规文件为真
-d file文件为目录为真
-c file文件为字符特殊文件为真
-b file文件为块特殊文件为真
-s file文件大小非0时为真
-t file当文件描述符(默认为1)指定的设备为终端时为真
-e file如果file存在为真 如:[ -e /var/log/syslog ]
file1-nt file2如果file1比 file2新,则为真 如:[ /tmp/install/etc/services -nt /etc/services ]
file1-ot file2如果file1比 file2旧,则为真 如:[ /boot/bzImage -ot arch/i386/boot/bzImage ]

4、复杂逻辑判断

内容解析
-a
&&
-o
!

|| 或
在[ ]中不能用&& ||

三、语法结构

1、单分支语句结构

if [ 条件表达式 ]; then
    指令
fi

2、双分支语句结构

if [ 条件表达式 ]; then
    指令一
else
    指令二
fi

注意:
表达式前后必须各有一个空格,否则会执行报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值