shell test

版权声明:本文为作者创作,转载请注明出处:http://blog.csdn.net/claroja,如有商业用途请联系QQ:63183535。 https://blog.csdn.net/claroja/article/details/88124472

内置test命令常用操作符号[]表示,将表达式写在[]中,如下:
[ expression ]
或者:
test expression
注意:expression首尾都有个空格
eg: [ ] ;echo ? t e s t 0 0 ? 测试范围:整数、字符串、文件 表达式的结果为真,则test的返回值为0,否则为非0。 当表达式的结果为真时,则变量 ?的值就为0,否则为非0

字符串测试:
test str1 == str2 测试字符串是否相等 =
test str1 != str2 测试字符串是否不相等
test str1 测试字符串是否不为空,不为空,true,false
test -n str1 测试字符串是否不为空
test -z str1 测试字符串是否为空
eg:
name=linzhiling
[ “KaTeX parse error: Expected 'EOF', got '&' at position 9: name” ] &̲& echo ok ; 命令连…name” ] && echo invalid || echo ok
|| 逻辑或,条件不满足,才执行后面的语句
test “$name” == ”yangmi” && echo ok || echo invalid

整数测试:
test int1 -eq int2 测试整数是否相等 equals
test int1 -ge int2 测试int1是否>=int2
test int1 -gt int2 测试int1是否>int2
test int1 -le int2 测试int1是否<=int2
test int1 -lt int2 测试int1是否<int2
test int1 -ne int2 测试整数是否不相等
eg:
test 100 –gt 100
test 100 –ge 100
如下示例两个变量值的大小比较:

-gt表示greater than大于的意思,-le表示less equal表示小于等于。

文件测试:
test -d file 指定文件是否目录
test –e file 文件是否存在 exists
test -f file 指定文件是否常规文件
test –L File 文件存在并且是一个符号链接

test -r file 指定文件是否可读
test -w file 指定文件是否可写
test -x file 指定文件是否可执行

eg:
test -d install.log
test –r install.log
test –f xx.log ; echo $?
[ -L service.soft ] && echo “is a link”
test -L /bin/sh ;echo KaTeX parse error: Expected 'EOF', got '&' at position 16: ? [ -f /root ] &̲& echo “yes” ||…num” –a “KaTeX parse error: Expected 'EOF', got '&' at position 16: num” –ge 520 ] &̲& echo “marry y… pathname”] && echo usable || echo used

猜你喜欢

转载自blog.csdn.net/claroja/article/details/88124472