等价于 for ((c=1; c<=5; c++)) for /bin/sh

Equivalent to for ((c=1; c<=5; c++)) for /bin/sh

我在 shell 中有以下代码用于“for 循环”

#!/bin/sh
for (( c=1; c<=5; c++ ))
do
    echo "welcome $c times"
done

在 运行 上: ./test.sh

错误如下:

./test.sh[2]: syntax error at line 2 : '(' unexpected.

我已经尝试了所有可能的方法来消除这个错误。

#!/bin/sh
for (( c=1; c<=5; c++ )); do
    echo "welcome $c times"
done
#!/bin/sh
for ( c=1; c<=5; c++ )
do
    echo "welcome $c times"
done
#!/bin/sh
for c=1; c<=5; c++
do
    echo "welcome $c times"
done
#!/bin/sh
for (c=1; c<=5; c++)
do
    echo "welcome $c times"
done
#!/bin/sh
for (( c=1; c<=5; c++ ));
do
    echo "welcome $c times"
done

我已经阅读了其他指定 bash 的文章。我的系统上没有 bash,所以不能使用它。

任何针对此问题的 .sh 解决方法都会很有帮助。

提前致谢!

sh shell 解释器没有您尝试使用的循环结构。如果系统上存在 bash,您可以使用它,或者将循环更改为这样

for c in 1 2 3 4 5
do
    echo "welcome $c times"
done

对于枚举值不合理的较大循环,您应该使用 while

实现循环
c=1
while [ $c -le 5 ]
do
    echo "welcome $c times"
    c=$((c+1))
done