while 迴圈格式:
while 命令判斷
do
命令1
命令2
.....
done
當命令判斷為真時,則執行迴圈。
例:
n=1
while [ "$n" -lt 10 ]
do
echo "$n"
n=$(( $n + 1 ))
done
有時候我們希望迴圈遇到某一種情況時,就中斷執行,此時要用 break
例:
n=1
while [ "$n" -lt 10 ]
do
echo "$n"
n=$(( $n + 1 ))
if [ $n -eq 5 ]; then
break
fi
done
有時候我們希望迴圈遇到某一種情況時跳過去不處理,其餘繼續做,此時要用 continue
例:
n=1
while [ "$n" -lt 10 ]
do
if [ $n -eq 5 ]; then
n=$(( $n + 1 ))
continue
fi
echo "$n"
n=$(( $n + 1 ))
done
================
例:
#! /bin/sh
# 數學階乘的計算
if [ $# -ne 1 ]; then
echo "Usage: $0 正整數"
exit
fi
echo
echo -n $1"! = "
m=1
r=1
echo -n " 1 *"
while [ $m -lt $1 ]; do
m=$[ m + 1 ]
r=$(( $m * $r ))
if [ $m -eq $1 ]; then
echo -n " $m "
else
echo -n " $m *"
fi
done
echo -n "= $r"
echo
==================
執行: ./Factor.sh 5
結果: 5! = 1 * 2 * 3 * 4 * 5 = 120 |