LinuxShell 脚本条件语句的运用

一、条件测试操作

1)test 测试命令

基本格式:test条件表达式

或[条件表达式]

文件测试参数

-d测试是否为目录

-e测试目录或文件是否存在

-f测试是否为文件

-r测试当前用户是否有权限读取

-w测试当前用户是否有权限写入

-x测试是否设置有可执行权限

例:检测目录/media/cdrom 是否存在

结合命令分隔符"&&"和echo命令一起使用,可以更直观的输出测试结果

例:

2)整数值比较

-eq 等于(=)

-ne 不等于(≠)

-gt 大于(>)

-lt 小于 (<)

-le 小于等于 (≤)

-ge 大于等于 (≥)

例:统计当前目录下的文件和子目录个数

例:判断当前可用的空前内存是否小于1024MB

3)字符串比较

= 第一个字符串与第二个字符串相同

!= 第一个字符串与第二个字符串不相同,其中"!"符号表示取反的意思

-z 检测字符串是否为空,对于未定义或赋予空值的变量将视为空串

例:

例:结合read命令使用

4)逻辑测试

&&逻辑与,可替换为 -a

||逻辑或,可替换为 -o

!逻辑否

例:查看Linux 系统的内核版本是否大于2.4

二、if 语句的使用

1)单分支if 语句

基本格式:

if条件测试操作

then

命令序列

fi

执行流程图:

例1:判断 /media/cdrom 目录是否存在,若不存在则新建此目录

例2:检测当前登录用户是否为root,其中"exit 1"退出脚本(1表示退出后的返回状态值)

2)双分支if语句

基本格式:

If条件测试操作

then

命令序列1

else

命令序列2

fi

执行流程:

例1:检测目标主机是否存在

例2:检测服务运行状态

3)多分支 if 语句

基本格式:

if条件测试操作1

then

命令序列1

elif条件测试操作2

then

命令序列2

else

命令序列3

fi

执行流程:

例:根据输入的考试分数不同来区分优秀、合格、不合格三档

例:检测任意服务运行状态

你可能感兴趣的:(表达式,Yellow,justify)