while [ 条件式 ]
do
if [ 条件 ]
then
break
else
処理
fi
done
■サンプルスクリプト
day_of_weekに曜日を代入し、ifで判定。月曜日~土曜日はjob 1からjob 10を実行しますが、日曜日のみ job 6 以降をキャンセルします。日時処理や週次処理などが想定されます。※if文の -a はANDで同時に満たしている場合。
#!/bin/sh
cnt=1
day_of_week=`date | awk '{print $1}'`
while [ $cnt -le 10 ]
do
echo "job $cnt"
if [ $day_of_week = Sun -a $cnt -eq 5 ]
then
break
fi
cnt=`expr $cnt + 1`
done