shell编程之条件语句

本文详细介绍了Linux shell脚本中的条件测试命令,包括字符串和数字的比较,如-eq、-ne、-gt等,并演示了如何使用&&和||进行逻辑连接。还讲解了-z和-n用于检查变量是否为空的测试,以及文件测试如-d、-e、-f等。文章通过实例解析了if语句的单分支结构,帮助读者理解如何在shell脚本中进行条件判断。

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

test 命令

测试表达式是否成立,若成立返回0,否则返回其他数值

test 条件表达式
或
[ 条件表达式 ]     注意 这种形式[ ] 里面左边和右边都要有空格

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

[ $a == $b ] && echo y || echo n  &&代表成功就运行这个  || 表示错误就运行这个

在这里插入图片描述``
非常重要:::字符串就用==和!=, 数字用底下列表的

-eq   第一个数等于第二个数
-ne  第一个数不等于第二个数
-gt  第一个数大于第二个数
-lt  第一个数小于第二个数
-ge  第一个数大于等于第二个数
-le   第一个数小于等于第二个数

在这里插入图片描述

[ 3 -gt 2 -a 3 -gt 1 ] && echo y || echo n    -a代表且  需要两边同时都正确  才会判断正确
[ 3 -gt 2 -o 3 -lt 1 ] && echo y || echo n     -o代表或  需要至少一边正确   才会判断正确

在这里插入图片描述
在这里插入图片描述
这个是有顺序的 先判断前面3不小于二 ,找|| 找到第一个|| 是判断3大于1 是正确的 ,再寻找&& 最后输出y
类似还有
在这里插入图片描述

判断非空

-z 判断 变量的值,是否为空;

  • 变量的值,为空,返回0,为true

  • 变量的值,非空,返回1,为false

[ -z "$a" ] 单对中括号变量必须要加双引号

[[ -z $a ]] 双对括号,变量不用加双引号

在这里插入图片描述

-n 判断变量的值,是否为空;

  • 变量的值,为空,返回1,为false

  • 变量的值,非空,返回0,为true

[ -n "$a" ] 单对中括号,变量必须要加双引号

[[ -n $a ]] 双对中括号,变量不用加双引号

在这里插入图片描述

但是单纯的输入空格又会倒过来
在这里插入图片描述

文件测试

-d  测试是否为目录
-e  测试目录或文件是否存在
-f  测试是否为文件
-L  测试是否为链接文件
-b  测试是否为设备文件
-c  测试是否为字符设备文件
-r  测试当前用户是否有权限读取
-w  测试当前用户是否有权限写入
-x  测试是否设置游客执行权限
-s  测试存在且文件大小为空

在这里插入图片描述

if语句结构

单分支结构

if 条件测试操作
	then 命令序列
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值