while
シェルスクリプトで無限ループから抜け出す方法は?
シェルスクリプトに次のコードを実装したいPHP
:
$i=1;
while( 1 ) {
if ( $i == 1 ) continue;
if ( $i > 9 ) break;
$i++;
}
break
シェル スクリプトでも機能しwhile
ますが、Zsolt が提案したように、ループ内よりも句内で条件を確認する方が適切です。条件をチェックする前にループにもっと複雑なロジックがあると仮定すると (つまり、本当に必要なのはdo..while
ループです)、次のことができます。
i=1
while true
do
if [ "$i" -eq 1 ]
then
continue
fi
# Other stuff which might even modify $i
if [ $i -gt 9 ]
then
let i+=1
break
fi
done
本当に何回か繰り返したいだけなら$count
、もっと簡単な方法があります:
for index in $(seq 1 $count)
do
# Stuff
done
i=1
while [ $i -gt 9 ] ; do
# do something here
i=$(($i+1))
done
あなたがそれを行うことができる方法の1つです。
HTH