0

我在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 上针对此问题的任何解决方法都会有很大帮助。

提前致谢!

4

1 回答 1

1

shshell 解释器没有您尝试使用的循环结构。如果它存在于您的系统上,您可以使用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
于 2021-05-23T14:10:34.420 回答