Shell编程之IF条件语句各种案例演练

3. if条件语句学习


案例一,测试数字的大小
#!/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
执行结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wsxlgg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值