for循环不起作用

时间:2011-04-07 07:09:34

标签: shell

我的for循环无效:

#!/bin/sh
for (( count=2; count < 5; count++))
do
  parameter=$count
  echo $parameter
done

错误:

  

./ new.sh:第2行的语法错误:`('意外

1 个答案:

答案 0 :(得分:3)

(( ))构造不是POSIX。如果你愿意,你必须使用像#!/bin/bash这样的翻译。

POSIX替代方案是:

for count in 2 3 4; do
  parameter=$count
  echo $parameter
done

或者

for count in $(seq 2 4); do
  parameter=$count
  echo $parameter
done

后者以调用外部二进制文件(seq

为代价更具可扩展性