条件测试:有两种方法,第一使用test命令;第二使用 [ 命令。[代表一个命令,因此其和参数之间必须要有空格。
常见的字符测试:在shell中真为0,否为1。故$?真,返回0,假返回1。注意测试运算符左右必须有空格
a="hellow"
b="world"
#比较两个字符是否相等
[ "$a" = "$b" ]
echo $?
#结果为1,代表两者不相等
#或者使用test测试
test "$a" = "$b"
echo $?
整数测试:
#比较是否相等
test 1 -eq 2
echo $?
#比较是否大于
test 5 -gt 3
echo $?
#比较是否小于
test 2 -lt 3
echo $?
#下述方式也可以
a=1
b=2
[ "$a" -eq "$b" ]
......
如果用[ 1 = 2 ]比较,则是将1和2当成字符串进行比较。
文件测试:常见的文件操作符
案例:将某个目录下的普通文件全部打印出来
#!/bin/bash
filename=`ls`
for file in $filename
do
if [ -f "$file" ]
then
echo "$file"
fi
done
常见的逻辑操作符:
a=23
#判断a是否大于20小于30
test "$a" -gt 30 -o "$a" -lt 20
echo $?