Shell脚本——条件语句

条件测试

一、文件测试
二、整数值比较
三、字符串与逻辑测试ide

·测试

if语句:
单分支的if语句
双分支的if语句
多分枝的if语句code

·字符串

一、文件测试

文件测试是指的是根据给定的路径名称,判断对应的是文件仍是目录,或者判断文件是否可读、可写、可执行等。it

基本格式table

test 条件表达式 或者 [ 条件表达式 ]

文件的常见操做选项以下: class

选项 描述
-d 测试是否为目录(Directory)
-e 测试目录或文件是否存在(Exist)
-f 测试是否为文件(File)
-r 测试当前用户是否有权限读取(Read)
-w 测试当前用户是否有权限写入(Write)
-x 测试是否设置有可执行(Excute)权限

执行以上操做以后,能够经过“$?”能够得到测试命令的返回状态值,从而判断是否成立test

实际操做

格式一变量

test -d /etc/sysconfig (测试/etc里的sysconfig目录是否存在)
             echo $?(返回值为0,则条件成立)

格式二权限

[ -d /etc/sysconfig ]
                echo$(若条件不成立,测试值将不为0(一般为1))

整数值比较

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

经常使用操做选项

一、-eq:等于(Equal)
二、-ne:不等于(Not Equal)
三、-gt:大于(Greater Than)
四、-lt:小于(Lesser Than)
五、-le:小于或等于(Lesser or Equal)
六、-ge:大于或等于(Greater or Equal)

字符串比较

格式1:[ 字符串1 = 字符串2 ]
            [ 字符串1 ! = 字符串2 ]
格式2:[ -z 字符串]

经常使用操做选项

一、=:第一个字符串与第二个字符串相同
二、!=:第一个字符串与第二个字符串不相同,其或中“!”符号取反
三、-z:检查字符串是否为空,对于未定义或赋予空值的变量将视为空串

逻辑测试

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

经常使用操做选项

一、-a或&&:逻辑与,“并且”的意思
二、-o或||:逻辑或,“或者”的意思
三、!:逻辑否,表示“不”的意思

if语句

单分支结构

if 条件测试操做
then
   命令序列
fi

双分支结构

if 条件测试操做
then
   命令序列1
then
   命令序列2
fi

多分枝结构

if 条件测试操做
then
   命令序列1
elif 条件性测试操做2
then
   命令序列2
else
   命令序列3
fi
相关文章
相关标签/搜索