Shell脚本——条件语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本——条件语句相关的知识,希望对你有一定的参考价值。
条件测试1、文件测试
2、整数值比较
3、字符串与逻辑测试
·
if语句:
单分支的if语句
双分支的if语句
多分枝的if语句
·
1、文件测试
文件测试是指的是根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否可读、可写、可执行等。
基本格式
test 条件表达式 或者 [ 条件表达式 ]
文件的常见操作选项如下:
选项 | 描述 |
---|---|
-d | 测试是否为目录(Directory) |
-e | 测试目录或文件是否存在(Exist) |
-f | 测试是否为文件(File) |
-r | 测试当前用户是否有权限读取(Read) |
-w | 测试当前用户是否有权限写入(Write) |
-x | 测试是否设置有可执行(Excute)权限 |
执行以上操作之后,可以通过“$?”可以获得测试命令的返回状态值,从而判断是否成立
实际操作
格式一
test -d /etc/sysconfig (测试/etc里的sysconfig目录是否存在)
echo $?(返回值为0,则条件成立)
格式二
[ -d /etc/sysconfig ]
echo$(若条件不成立,测试值将不为0(通常为1))
整数值比较
格式格式:[ 整数1 操作符 整数2 ]
常用操作选项
1、-eq:等于(Equal)
2、-ne:不等于(Not Equal)
3、-gt:大于(Greater Than)
4、-lt:小于(Lesser Than)
5、-le:小于或等于(Lesser or Equal)
6、-ge:大于或等于(Greater or Equal)
字符串比较
格式1:[ 字符串1 = 字符串2 ]
[ 字符串1 ! = 字符串2 ]
格式2:[ -z 字符串]
常用操作选项
1、=:第一个字符串与第二个字符串相同
2、!=:第一个字符串与第二个字符串不相同,其或中“!”符号取反
3、-z:检查字符串是否为空,对于未定义或赋予空值的变量将视为空串
逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
格式2:命令1 操作符 命令2 ...
常用操作选项
1、-a或&&:逻辑与,“而且”的意思
2、-o或||:逻辑或,“或者”的意思
3、!:逻辑否,表示“不”的意思
if语句
单分支结构
if 条件测试操作
then
命令序列
fi
双分支结构
if 条件测试操作
then
命令序列1
then
命令序列2
fi
多分枝结构
if 条件测试操作
then
命令序列1
elif 条件性测试操作2
then
命令序列2
else
命令序列3
fi
以上是关于Shell脚本——条件语句的主要内容,如果未能解决你的问题,请参考以下文章