shell脚本条件测试

本文介绍了Shell脚本中的条件测试,包括使用`test`命令和方括号进行各种比较,如文件测试、整数值比较、字符串比较以及逻辑测试。还详细讲解了if语句的单分支、双分支和多分支结构,以及case语句的用法,帮助读者掌握Shell脚本中的条件控制结构。

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

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

格式:
test 条件表达式 或 [ 条件表达式 ]

文件测试
常见选项
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

整数值比较
格式:[ 整数1 操作符 整数2 ]
操作符:
在这里插入图片描述
查询当前目录下文件是否大于5 大于则提示
在这里插入图片描述

字符串比较
格式:
[ 字符串1 = 字符串2 ] #判断是否相等
[ 字符串1 != 字符串2 ] #判断是否不等
[ -z 字符串 ] #判断字符串内容是否为空

操作符
在这里插入图片描述
逻辑测试
格式:
[ 表达式1 ] 操作符 [ 表达式2 ]
命令1 操作符 命令2

操作符
在这里插入图片描述

if语句
单分支结构
格式:
if [ 条件判断式 ]; than
当条件判断成立时,执行一条或多条命令
fi
如果只有一个判断式要进行,那么我们可以使用单分支的if语句 ,只有在条件成立时才会执行,否则不执行任何操作
在这里插入图片描述
使用单分支if语句判断test文件是否存在
在这里插入图片描述

双分支结构
if [ 条件判断式 ]; then
当条件判断成立时,可以执行一条或多条命令
else
当条件判断不成立时,可以执行一条或多条命令
fi
在同一个数据的判断中,如果该数据需要进行两种不同的判断,我们就需要双分支if语句了
在这里插入图片描述
判断用户输入的是否为yes
在这里插入图片描述
多分支结构
if [ 条件判断式 ]; then
当条件判断成立时,可以执行一条或多条命令
elif [ 条件判断式二 ]; then
当条件判断成立时,可以执行一条或多条命令
else
当上面的条件判断都不成立时,可以执行一条或多条命令
fi
如果数据需要进行多种不同的判断,则可以使用多分支结构 嵌套使用
在这里插入图片描述
在这里插入图片描述

case语句
格式:
case 变量名称 in
模式1)
命令序列
;;
模式2)
程序段
;;
*)
不包含第一个变量内容与第二个变量内容的其他程序执行段
默认程序段
;;
esac

case行首必须以单词“in”,每一模式必须以单个右括号")“结束
双分号”;;“表示命令序列的结束
模式字符串中,可以用方括号表示一个连续的范围,如”[0-9]";还可以使用竖杠|表示或,比如a|b
最后的)表示默认模式,其中的相当于通配符

不管输出大小写字母,都能输出yes或者no
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值