44

我在 .sh 文件中有以下代码:

for num in {1..10}
do
  echo $num
done

哪个应该打印从 1 到 10 的数字。但是,这就是我得到的:

{1..10}

此外,使用类似 C 的语法也不起作用:

for ((i=1; i<=10; i++))

这给我一个错误:

Syntax error: Bad for loop variable

我拥有的 bash 版本是 4.2.25。

4

1 回答 1

74

代码应如下所示(注意 shebang 说的是bash,而不是sh):

 #!/bin/bash
 echo "Bash version ${BASH_VERSION}..."
 for i in {0..10..1}
    do
       echo "Welcome $i times"
 done

来源http://www.cyberciti.biz/faq/bash-for-loop/

于 2013-07-19T18:21:45.740 回答