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]#

以上是 shell脚本之七:if结构条件句知识与实践 的全部内容, 来源链接: utcz.com/z/516010.html

回到顶部