if条件句及例子

简介:

if条件语法说明:

单分支结构:

if [条件]

then

指令

fi

if [条件];then

fi

特殊写法:if[ -f "$file1" ];then echo 1;fi相当于[ -f "file1" ] && echo 1

下面是一个比较大小的单分支脚本

#!/bin/bash

read -p "please input two number like a b:" a b

if [ $a -eq $b ]

then

echo "$a = $b"

fi

if [ $a -lt $b ]

then

echo "$a < $b"

fi

if [ $a -gt $b ];then

echo "$a > $b"

fi

下面是效果图

[root@zhouyu shell]# sh 04if.sh 

please input two number like a b:1 2

1 < 2

下面我们写一个小脚本,这个脚本是用来看看文件存在没有,不存在我们就给它创建文件,如果有就输出文件存在,如图:

#!/bin/bash

FILEPATH="/server/shell"

[ -e $FILEPATH/if3.sh ] && echo "the $FILEPATH file is exits" ||{ #判断文件存不>

存在

[ -d $FILEPATH ] && touch $FILEPATH/if3.sh ||{ #如果文件不存在就判断目录存不存在

mkdir -p $FILEPATH #如果目录不存在就创建目录

touch $FILEPATH/if3.sh #创建文件

echo "the file touch successful!!!" #输入文件创建成功!!!

}

}

下面是效果图

[root@zhouyu shell]# sh if01.sh 

[root@zhouyu shell]# sh if01.sh 

the /server/shell file is exits

如果你的执行出错了 你可以用下面的命令看看这个脚本的执行过程

[root@zhouyu shell]# sh -x if01.sh 

+ FILEPATH=/server/shell

+ '[' -e /server/shell/if3.sh ']'

+ echo 'the /server/shell file is exits'

the /server/shell file is exits

[root@zhouyu shell]# 

思考:判断系统内在大小,低于100M就进行邮件报警

#!/bin/bash

RAM=`free -m| grep Mem |awk '{print $3}'`

[[ $RAM < 100 ]] && echo "the RAM is not content"

上面是我写的,效果是:

[root@zhouyu shell]# sh if02.sh 

[root@zhouyu shell]# 

因为内存大于100M就不会报错

下面看看老师的写法

#!/bin/bash

free=`free -m|awk 'buffers\// {print $NF}'` #定义一个变量 打印最后一列

if [ $free -lt 100 ] #如果内存大于100M 则输出以下内容

      then

        echo "the current memory is $free"

        echo "the current memory is $free"|mail -s "chars" 123456#qq.com

fi

下面是双分支

if [条件]

then

指令集

else

指令集

fi

特殊写法:if [ -f "$file1" ];then echo 1;else echo 0;fi相当于:[ -f "$file1" ] && echo 1 || echo 0

下面是多分支

if [条件]

then

指令

elif [条件]

then

指令

else

fi

下面是例子,写一个比较大小的

#!/bin/bash

read -p "please input two number:" a b

if [ $a -lt $b ];then

echo "$a < $b"

elif [ $a -eq $b ]

then

echo "$a = $b"

else

echo "$a > $b"

fi


本文转自 周子琪 51CTO博客,原文链接:http://blog.51cto.com/izhouyu/1891169


相关文章
|
9天前
|
C#
C#的小例子和总结(二)
C#的小例子和总结(二)
18 0
|
9天前
|
C#
C#有趣小例子(三)
C#有趣小例子(三)
17 2
|
9天前
|
C#
C#的小例子和总结(四)
C#的小例子和总结(四)
11 1
|
Java Spring 数据采集
需要些例子
教您使用java爬虫gecco抓取JD全部商品信息教您使用DynamicGecco抓取JD全部商品信息 Gecco+Spring+Mybatis完整例子,下载妹子图美女图片 结合spring的插件gecco-spring 结合htmlunit的插件ge...
1018 0
|
数据安全/隐私保护
|
算法 Android开发 计算机视觉
|
SQL 数据库 关系型数据库