如何在shell中的“if”条件下实现“for”循环

时间:2013-10-01 09:05:58

标签: shell if-statement for-loop

我有一个要求在哪里,我需要在嵌套的if条件下使用一组特定的值。我试图使用for循环实现它,但无法正确的语法。

例如。

if [ "$i" -ge 353 ] && [ "$i" -lt 385 ]
then
   for((m=7001;m<7016;m++))
value=$m
done
fi

这是正确的语法吗?

1 个答案:

答案 0 :(得分:5)

do循环需要额外的for。格式化它使它更清晰:

if [ "$i" -ge 353 ] && [ "$i" -lt 385 ]
then
   for((m=7001;m<7016;m++))
   do
      value=$m
   done
fi

请注意,所有这些whilefor等都需要包含dodone

while #something
do
    things
done

for #condition
do
    things
done
  

'done'表示使用$ i值的代码已完成   而$ i可以取一个新值。

对于if:

if #condition; then
    things
fi