shell指令expr和test指令

时间:2023-01-02 17:05:11

通过expr指令可以进行+、-、*、\、%等运算,但是有一点值得注意,使用乘法时,要在*前加上一个\符号。

通过test指令可以进行逻辑测试,进行测试的情况有四种:

1、整数测试

a、判断两个整数是否相等——test int1 -eq int2

b、判断两个整数是否不等——test int1 -ne int2

c、判断整数1是否大于整数2——test int1 -gt int2

d、判断整数1是否大于等于整数2——test int1 -ge int2

e、判断整数1是否小于整数2——test int1 -lt int2

d、判断整数1是否小于等于整数2——test int2 -le int2

2、字符串测试

a、判断字符串是否为空,为空返回真,非空返回假:test -z string

b、判断字符串是否非空,非空返回真,为空返回假:test -n string

c、判断两字符串是否相等:test str1=str2

d、判断两字符串是否不等:test str1!=str2

3、文件测试

a、判断用户对文件是否有读权限:test -r filename

b、判断用户对文件是否有写权限:test -w filename

c、判断用户对文件是否有可执行权限:test -x filename

d、判断文件是否为普通文件:test -f filename

e、判断文件是否为目录:test -d filename

f、判断文件是否大写不为零:test -s filename

g、判断为念是否为块设备文件:test -b filename

4、逻辑运算

a、如果两个表达式同时为真则为真,否则为假:test 表达式1 -a 表达式2

b、两个表达式有一个为真则为真,两个都为假为假:test 表达式1 -o 表达式2