Shell脚本之条件测试、if、case条件测试语句

一、条件测试

1.1test命令

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

格式:
test 条件表达式
或 [ 条件表达式 ] (条件表达式的两边都需要有空格,且此方法更为常用)

1.2文件测试

1.2.1文件测试常见选项

选项作用
-d测试是否为目录
-f测试是否为文件
-e测试文件和目录是否存在
-r测试是否具有读取权限
-w测试是否具有写入权限
-x测试是否具有执行权限

示例:

在这里插入图片描述

1.3整数值比较

格式:
[ 整数1 操作符 整数2 ]

常见测试操作符:

选项作用
-eq等于
-ne不等于
-ge大于等于
-le小于等于
-gt大于
-lt小于

示例:测试文件的个数是否大于十个

在这里插入图片描述

1.4字符串比较

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

选项作用
==等于
>=大于等于
<=小于等于
!=不等于
>大于
<小于
选项作用
-z检查字符串是否为空
=第一个字符串与第二个字符串相等
!=第一个字符串与第二个字符串不相同

示例: 判断当前系统语言环境是否为“us.en”,如果不是则提示

在这里插入图片描述

1.5逻辑测试

格式:
[ 表达式1 ] 操作符 [ 表达式2 ]
命令1 操作符 命令2

选项作用
&& /-a逻辑与
-o/ 丨丨逻辑或
逻辑否

二、if语句

2.1单分支结构

格式:
if [ 条件判断式 ]; than
当条件判断成立时,执行一条或多条命令
fi

如果只有一个判断式要进行,那么我们可以使用单分支的if语句 ,只有在条件成立时才会执行,否则不执行任何操作

在这里插入图片描述
示例: 使用单分支if语句判断test文件是否存在
在这里插入图片描述

2.2双分支结构

在这里插入图片描述例子:断文件是否存在,不在则创建
在这里插入图片描述

2.3多分支结构

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

三、case语句

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

注意点:

case行首必须以单词“in”,每一模式必须以单个右括号")"结束

双分号";;"表示命令序列的结束

模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b

最后的)表示默认模式,其中的相当于通配符

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昨日海棠依旧.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值