整数测试 口整数测试, 即比较大小 操作符两边必须留空格】 int1 -eq int2 intl 等于int2 intl -ne int2 intl 不等于int2 intl -gt int2 int1大于int2 intl -ge int2 int1大于或等于int2 intl -lt int2 int1小于int2 intl -le int2 int1小于或等于int2 x=1;$x -eg 1 ]echo $ x=a;$x -eq 1 ]echo $ 11
11 整数测试,即比较大小 [ int1 -le int2 ] int1 小于或等于 int2 [ int1 -lt int2 ] int1 小于 int2 [ int1 -ge int2 ] int1 大于或等于 int2 [ int1 -gt int2 ] int1 大于 int2 [ int1 -ne int2 ] int1 不等于 int2 [ int1 -eq int2 ] int1 等于 int2 x=1; [ $x -eq 1 ]; echo $? x=a; [ $x -eq 1 ]; echo $? 整数测试 操作符两边必须留空格! X
整数测试 口整数测试也可以使用1et命令或双圆括号 ●相应的操作符为: 只能用于整数测试! == 、!=、>、>=、<、<= ●例: x=1;1et"$x==1";echo$ x=1;(($x+1>=2));echo$? ▣两种测试方法的区别 ●使用的操作符不同 ●1et和双圆括号中可以使用算术表达式,而中括号不能 ●1et和双圆括号中,操作符两边可以不留空格 12
12 整数测试也可以使用 let 命令或双圆括号 x=1; let "$x == 1"; echo $? x=1; (($x+1>= 2 )); echo $? 只能用于整数测试! 整数测试 z 相应的操作符为: == 、!= 、> 、>= 、< 、<= z 例: 两种测试方法的区别 z 使用的操作符不同 z let 和 双圆括号中可以使用算术表达式,而中括号不能 z let 和 双圆括号中,操作符两边可以不留空格
逻辑测试 口逻辑测试 exprl -a expr2 逻辑与,都为真时,结果为真 exprl -o expr2 逻辑或,有一个为真时,结果为真 expr 逻辑非 x=1;name=Tom; $x -eq 1 -a -n Sname ]echo $ 注:不能随便添加括号 ($x -eq 1)-a (-n Sname ]echo $ X 13
13 逻辑测试 [ ! expr ] 逻辑非 [ expr1 -o expr2 ] 逻辑或,有一个为真时,结果为真 [ expr1 -a expr2 ] 逻辑与,都为真时,结果为真 x=1; name=Tom; [ $x -eq 1 –a –n $name ]; echo $? 逻辑测试 注:不能随便添加括号 [ ( $x -eq 1 ) –a ( –n $name ) ]; echo $? X
逻辑测试 ▣可以使用模式的逻辑测试 [pattern1 &pattern2 ] 逻辑与 [pattern1 I pattern2 ] 逻辑或 [[!pattern] 逻辑非 x=1;name=Tom; [$x -eq 1 &Sname To?]]echo $ 14
14 x=1; name=Tom; [[ $x -eq 1 && $name = To? ]]; echo $? [[ ! pattern ]] 逻辑非 [[ pattern1 || pattern2 ]] 逻辑或 [[ pattern1 && pattern2 ]] 逻辑与 可以使用模式的逻辑测试 逻辑测试
文件测试 口文件测试:文件是否存在,文件属性,访问权限等。 常见的文件测试操作符 -£ fname fname 存在且是普通文件时,返回真(即返回0) -L fname fname 存在且是链接文件时,返回真 -d fname fname存在且是一个目录时,返回真 -e fname fname (文件或目录)存在时,返回真 -s fname fname 存在且大小大于0时,返回真 -r fname fname (文件或目录)存在且可读时,返回真 -W fname fname (文件或目录)存在且可写时,返回真 -X fname fname(文件或目录)存在且可执行时,返回真 ●更多文件测试符参见test的在线帮助 man test 15
15 文件测试:文件是否存在,文件属性,访问权限等。 -x fname fname(文件或目录)存在且可执行时,返回真 -w fname fname(文件或目录)存在且可写时,返回真 -r fname fname(文件或目录)存在且可读时,返回真 -s fname fname 存在且大小大于 0 时,返回真 -e fname fname(文件或目录)存在时,返回真 -d fname fname 存在且是一个目录时,返回真 -L fname fname 存在且是链接文件时,返回真 -f fname fname 存在且是普通文件时,返回真 ( 即返回 0 ) 常见的文件测试操作符 z 更多文件测试符参见 test 的在线帮助 man test 文件测试