1

whileシェルスクリプトで無限ループから抜け出す方法は?

シェルスクリプトに次のコードを実装したいPHP

$i=1; 
while( 1 ) {
  if ( $i == 1 ) continue;
  if ( $i > 9 ) break;
  $i++;
}
4

2 に答える 2

1

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
于 2011-11-30T09:57:16.633 に答える
0
i=1
while [ $i -gt 9 ] ; do
     # do something here 
     i=$(($i+1))
done

あなたがそれを行うことができる方法の1つです。

HTH

于 2011-11-30T09:47:41.153 に答える