案例一,测试数字的大小
#!/bin/sh
NUM=100
if(($NUM > 4)) ; then
echo "this num is $NUM greater 4 !"
fi
必须以fi结尾
9.文件名为 if.sh
#!/bin/sh
#auto if test
#by lkp 2015-08-23
NUM1=100
NUM2=200
if (($NUM1 > $NUM2));then
echo "This $NUM1 greate $NUM2 !"
else
echo "This $NUM1 little $NUM2 !"
fi
执行:
/bin/bash if.sh
执行结果:
案例二,测试目录是否存在,不存在则新建(注意,中括号之间必须要用空格)
#!/bin/sh
#judge dir exist
if [ ! -d /data/20140515 ];then
mkdir -p /data/20140515
else
echo "This DIR is exist,Please exit .."
fi
逻辑运算符解析:
-f 判断文件是否存在 eg: if [ -f filename ]
-d 判断目录是否存在 eg: if [ -d dir ]
-eq 等于 应用于:整型比较
-ne 不等于 应用于:整型比较
-lt 小于 应用于:整型比较
-gt 大于 应用于:整型比较
-le 小于或等于 应用于:整型比较
-ge 大于或等于 应用于:整型比较
-a 双方都成立(and)逻辑表达式 -a 逻辑表达式
-o 单方成立(or)逻辑表达式 -o 逻辑表达式
-z 空字符串
10.文件名为 if1.sh
#!/bin/sh
#judge dir exist
#auto if test1
#by authors lkp 2015-08-23
DIR=/tmp/20140909
if [ ! -d $DIR ];then
mkdir =p $DIR
echo -e "\033[32mThis $DIR Create success!\033[0m"
else
echo -e "\033[32mThis $DIR is exist,Please exit.\033[0m"
fi
在执行之前执行命令:
/bin/bash -n if1.sh
是验证和测试这个脚本是不是有问题,如果不输出,说明脚本是没有问题的。
执行结果:
如果再执行一遍,执行结果如下:
11.文件名为 if2.sh
#!/bin/sh
#judge dir exist
#auto if test2 files
#by authors lkp 2015-08-23
FILES=/tmp/test.txt
if [ ! -f $FILES ];then
echo "OK" >> $FILES
else
echo -e "\033[32m----------------------\033[1m"
cat $FILES
fi
执行:
/bin/bash if2.sh
再执行:
/bin/bash if2.sh
执行结果是:
12.文件名为 scores.sh
#!/bin/bash
#by authors lkp 2015-08-23
scores=80;
if [[ $scores -gt 85 ]];then
echo "very good!";
elif [[ $scores -gt 75 ]];then
echo "good!";
elif [[ $scores -gt 60 ]];then
echo "pass!";
else
echo "no pass";
fi;
执行
/bin/bash scores.sh
执行结果:
13.文件名为 scores.sh
#!/bin/bash
#by authors lkp 2015-08-23
scores=$1;
if [ -z $scores ];then
echo "usage: {$0 60|80.}"
exit
fi
if [[ $scores -gt 85 ]];then
echo "very good!";
elif [[ $scores -gt 75 ]];then
echo "good!";
elif [[ $scores -gt 60 ]];then
echo "pass!";
else
echo "no pass";
fi;
执行
/bin/bash scores.sh
执行结果: