流程控制結構是程式語言中用于控制一段腳本執行流程的結構,shell提供了對多種流程控制結構的支援,包括條件結構,分支結構和循環結構.
一.if語句
格式1:
if 表達式;then
語句1
else
語句2
fi
格式2:
if 表達式1;then
if 表達式2;then
else
if 表達式3
語句2
else
語句3
fi
語句4
fi
格式3:
if 表達式1
elif 表達式2
語句3
[root@tong1 ~]# cat 1.sh
#!/bin/bash
echo "---------------------"
read -p '請輸入兩個整數值:' a b
if [ $a -gt $b ] ;then
echo "第一個數大于第二個數"
elif [ $a -lt $b ];then
echo "第一個數小于第二個數"
elif [ $a = $b ];then
echo "兩個數相等"
echo "輸入的數有問題"
fi
echo "----------------------"
[root@tong1 ~]# ./1.sh
---------------------
請輸入兩個整數值:3 5
第一個數小于第二個數
----------------------
請輸入兩個整數值:5 3
第一個數大于第二個數
請輸入兩個整數值:3 3
兩個數相等
請輸入兩個整數值:r 5
./1.sh: line 4: [: r: integer expression expected
./1.sh: line 6: [: r: integer expression expected
輸入的數有問題
[root@tong1 ~]#
二.case語句
case 變量 in
模式1)
語句1
;;
模式2)
語句2
esac
case $1 in
值1|值2)
語句1
;;
值3)
case $2 in
值4)
語句2
;;
值5)
語句3
esac
值6)
語句4
abc=`expr $a / 10`
case $abc in
9)
echo "成績優秀"
;;
8)
echo "表現良好"
7)
case $2 in
'男')
echo "男生成績不好"
'女')
echo "成績良好"
;;
esac
*)
echo "成績不及格"
三.while循環
while 表達式
do
語句
done
while 表達式1
while 表達式2
do
語句1
done
read -p '請輸入一個整數值:' a
i=1
while [ $a -ge $i ]
echo "$a的平方值:`expr $a \* $a`"
a=$(($a - 1))
請輸入一個整數值:5
5的平方值:25
4的平方值:16
3的平方值:9
2的平方值:4
1的平方值:1
四.for循環
格式:
for 變量 [ in 清單]
語句
for b in 1 2 3 4 5
echo "$b-------------`expr $b \* $b`"
1-------------1
2-------------4
3-------------9
4-------------16
5-------------25
[root@tong1 ~]#
五.until循環(不滿足條件就循環)
until [ 表達式 ] --不滿足條件就循環
done
請輸入一個數:6
------------*
1------------1
2------------4
3------------9
4------------16
5------------25
6------------36
read -p "請輸入一個數:" abc
until [ $i -gt $abc ]
a=`expr $i \* $i`
echo "$i------------$a"
i=$(($i+1))
六.select結構
select 變量 in 清單
do
select a in 1 2 3 4 5
case $a in
1)
echo "這是1"
2)
echo "這是2"
3)
echo "這是3"
4)
echo "這是4"
*)
echo "退出"
break
1) 1
2) 2
3) 3
4) 4
5) 5
#? 1
這是1
#? 2
這是2
#? 3
這是3
#? 4
這是4
#? 5
退出
七.break和continue
break:跳出循環體,break 2跳出外循環體
continue:退出本次循環,continue 2跳出外循環體
本文轉自 z597011036 51CTO部落格,原文連結:http://blog.51cto.com/tongcheng/1624202,如需轉載請自行聯系原作者