温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Shell脚本——条件语句

发布时间:2020-07-19 20:14:02 来源:网络 阅读:288 作者:macbok 栏目:系统运维

条件测试

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
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI