算术运算的条件判断 [] [[]]: -eq -ne -lt -le -gt -ge
(( )):
>
<
>=
<=
=
[root@monitor ~]# if (( 2 == 3));then echo '123'; fi
[root@monitor ~]# if (( 2 >= 3));then echo '123'; fi
[root@monitor ~]# if (( 2 <= 3));then echo '123'; fi
123
[root@monitor ~]# if (( 2 < 3));then echo '123'; fi
123
[root@monitor ~]# if (( 2 > 3));then echo '123'; fi
字符串的条件判断 -z -n = == != < > 文件属性的条件判断 -f -d -c -w -L -x -e -b -r
#!/bin/bash
if [ -e demo.sh ];then
echo "文件存在"
fi
fpath="/etc/passwd"
if [ -e $fpath ];then
echo file exists;
else
echo file no exists;
fi
[ -e "/etc/hosts" ] || (echo '/etc/hosts not exist";exit 1)
if [ "$?" -eq 1 ];then
exit
fi
echo "/etc/hosts 文件存在"
declare -i a
a=20
if [ $a -eq 20 ];then
echo "var a 20"
fi
if [ $a -gt 10 ];then
echo 'var >10';
fi
if [ "$LOGNAME" != "ROOT" ];then
echo "root "
fi
if [ "Bill" >"Apple" ];then
echo " BILL >APPLE"
fi
str="Bill"
if [ -n $str];then
echo "234"
fi
#!/bin/bash
NUM1=100
NUM2=200
if (($NUM1 > $NUM2));then
echo "ok"
else
echo "ok1"
fi
#!/bin/bash
Dir=/tmp/20140909
if [ ! -d $Dir ];then
mkdir -p $Dir
echo -e " 33[32mthis $Dir exist 33[0m"
else
echo -e " 33[32mthis $Dir is exist,please exit. 33[0m"
fi
#!/bin/bash
FILES=/tmp/test.txt
if [ -f $FILES ];then
echo "ok">>$FILES
else
cat $FILES
fi
-a: 逻辑表达式 -a 逻辑表达式
-o: 逻辑表达式 -o 逻辑表达式