循环首次在shell脚本中继续运行

时间:2011-11-30 09:40:07

标签: shell loops continue

如何在shell脚本中突破无限while循环?

我想在shell脚本中实现以下PHP代码:

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

2 个答案:

答案 0 :(得分:1)

break也适用于shell脚本,但最好检查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

答案 1 :(得分:0)

i=1
while [ $i -gt 9 ] ; do
     # do something here 
     i=$(($i+1))
done

是你可以做到的一种方式。

HTH