内置test命令常用操作符号[]表示,将表达式写在[]中,如下:
[ expression ]
或者:
test expression
注意:expression首尾都有个空格
eg: [ ] ;echo ?测试范围:整数、字符串、文件表达式的结果为真,则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