shell脚本之七:if结构条件句知识与实践

2020-04-28 16:01:10来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

shell脚本之七:if结构条件句知识与实践

七、if结构条件句知识与实践

(一)if条件句单双分支语法

1、单分支
if 条件
   then
   指令
fi
2、双分支
if 条件
   then
   指令
else
   指令集2
fi

(二)if条件句多分支语句

1、语句的结构

if 条件1
   then
   指令1
elif 条件2
   then
   指令2
elif 条件3
   then
   指令3
else
   指令4   
fi 

2、实例:判断目录是否存在

如果不存在目录/backup,则创建。
[root@centos6-kvm3 scripts]# cat 07-01.sh
#!/bin/bash
path="/backup"
[ -d $path ] || mkdir $path -p
if [ -d $path ]
then
   :(冒号表示什么都不做)
else
  mkdir $path -p
fi

if [ !-d $path]
then
  mkdir $path -p
fi
[root@centos6-kvm3 scripts]#

3、实例:判断服务器内存大小

开发shell脚本判断内存是否充足,如果小于100,提示不足,如果大于100提示充足。
[root@centos6-kvm3 scripts]# cat 07-02.sh 
#!/bin/bash
mem=`free -m | awk 'NR==3{print $NF}'`
if [ $mem -lt 100 ]
then
   echo "内存不充足!"
else
   echo "内存充足!"
fi
[root@centos6-kvm3 scripts]# 

4、实例:判断两个整数大小

[root@centos6-kvm3 scripts]# cat 07-03.sh
#!/bin/bash
read -p "请输入两个整数:" a b
expr $a + $b + 1 &>/dev/null
if [ $? -ne 0 ]
then
   echo "请输入两个整数。"
   exit 0
fi
if [ -z "$b" ]
then
  echo "请输入两个整数。"
  exit 1
fi

if [ $a -lt $b ]
then
   echo "$a小于$b"
elif [ $a -gt $b ]
then
   echo "$a大于$b"
else
   echo "$a等于$b"
fi
如果使用传参方式:
[$# -ne 2 ]判断参数是否为两个。

5、实例:打印一个安装菜单

[root@centos6-kvm3 scripts]# cat 07-04.sh
#!/bin/bash
cat <<EOF
1.install lamp
2.install lnmp
3.exit
EOF
read -p "请输入一个数字{1|2|3}:" n
expr $n + 2 &>/dev/null
if [ $? -ne 0 ]
then
   echo "usage:$0{1|2|3}"
   exit 0
fi

if [ $n -eq 1 ]
then
   echo "install lamp"
elif [ $n -eq 2 ]
then
   echo "install lnmp"
elif [ $n -eq 3 ]
then
   echo "exit"
else
   echo "usage:$0{1|2|3}"
fi
[root@centos6-kvm3 scripts]# 



原文链接:https://www.cnblogs.com/cuiyongchao007/p/12798180.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:shell脚本之三:shell变量知识进阶与实践

下一篇:shell脚本之八:函数知识与实践