七、if結構條件句知識與實踐 (一)if條件句單雙分支語法 (二)if條件句多分支語句 1、語句的結構 2、實例:判斷目錄是否存在 3、實例:判斷伺服器記憶體大小 開發shell腳本判斷記憶體是否充足,如果小於100,提示不足,如果大於100提示充足。 [root@centos6 kvm3 script ...
七、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]#