1. 條件判斷
使用if、if-else、if-elif-else三種判斷結構
if [ cond ]
then
echo ""
fi
# ----------------------------
if [ cond1 ]
then
echo "1"
else
echo "2"
fi
# ----------------------------
if [ cond1 ]
then
echo "1"
elif [ cond2 ]
then
echo "2"
else
echo "3"
fi
2. 循環
- for循環
for i in 1 2 3 4 5
do
echo $i
done
# ----------------------------
for ch in "strings"
do
echo $ch
done
# ----------------------------
for((i=1; i<=10; i++));do
echo $i
done
- while循環
while [ ]
do
echo ""
done
# ----------------------------
while(( ))
do
echo ""
done
無限循環的表示方法:
while :
do
echo "無限循環"
done
# ----------------------------
while true
do
echo "無限循環"
done
# ----------------------------
for(( ; ; ))
- until循環
until循環和while循環是相互反着的,知道條件成立才退出循環
until [ ]
do
echo ""
done
# ----------------------------
until(( ))
do
echo ""
done
3. 多選擇分支case-esac
類似於switch語句,多選擇分支使用case語句
case $a in
1) echo "1"
;;
2) echo "2"
;;
3) echo "3"
;;
4) echo "4"
;;
*) echo "none"
;;
esac
- 一旦模式匹配,則執行完匹配模式相應命令後不再繼續其他模式
4. break和continue
在循環語句中使用break來跳出循環體
在循環語句中使用continue來跳出當前循環
while true
do
if [ $a == 10 ]
then
echo "done"
break
fi
done
# ----------------------------
a=0
for((i=1; i<=10; i++));do
if [ `expr $i % 2` == 0 ]
then
let a+=1
continue
fi
let a+=2
done
echo "$a"
15