shell学习笔记(五)—— shell条件测试

1、条件测试的基本语法

语法:

a)、test expression

参数expression是要进行条件测试的表达式,可以由字符串、整数、文件名组成。

b)、[ expression ]

条件表达式expression和左右方括号之间必须有空格。

“[”方括号是一个shell命令,所有,在shell命令和表达式之间,必须有空格。


2、字符串测试

运算符 说明
 string 判断string是否是非空
 -n  string 判断string是否是非空
 -z   string 判断string是否是空串
 string1 = string2 判断string1和string2是否相等
 string1 != string2 判断string1和string2是否不相等


a="abc"

b="def"

test "$a" = "$b" #等号左右必须得有空格

[ "$a" = "$b" ] #方括号后面,等号左右必须有空格。

#注意,等号左右和方括号前后,都要有空格。


3、整数测试

语法:

test num1 op num2

[ num1 op num2 ]

常见整数运算符:

运算符 说明
num1 -eq num2 等于
num1 -ne num2 不等于
num1 -gt num2 大于
num1 -ge num2 大于或等于
num1 -lt num2 小于
num1 -le num2 小于或等于

注意:整数的比较的运算符是:eq、ne等


4、文件测试

语法:

test  op  file

[  op  file  ]

常见文件操作符:

运算符 说明
 -a  file  file是存在
 -b file  file是存在,且为块文件
 -c file  file是存在,且为字符文件
 -d file  file是存在,切为目录
 -e file  file是存在,同-a
 -f file  file存在,且为常规文件
 -s file  file是否为非空文件
 -L file  file是否为符号链接
 -r file  file是否可读
 -w file  file是否可写
 -x file  file是否可执行

5、逻辑测试符

与、或、非:

与:expression1 -a expression2

或:expression1 -o expression2

非:!expression



你可能感兴趣的:(Linux)