bash for循环:一系列数字[重复]

Posted

技术标签:

【中文标题】bash for循环:一系列数字[重复]【英文标题】:bash for loop: a range of numbers [duplicate] 【发布时间】:2013-07-19 03:23:28 【问题描述】:

我在 .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.5 中对我来说可以正常工作 您还可以使用 seq.试试“seq 1 5”。 如果将bash 执行为sh 是行不通的;如果将bash 执行为bash,它将起作用。 在 for 循环条件之前让 i= 0 时,C 语法有效。 【参考方案1】:

代码应该如下(注意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/

【讨论】:

这个:(注意 shebang 说的是 bash,而不是 sh) ..1 是不必要的。 "..1" 在 MacOSX Bash 中无法解析。 这对我不起作用。~/u/tmp> cat try #!/bin/bash # for integer in 1..10..1 do echo "integer is $integer"完成 ~/u/tmp> ./try 整数是 1..10..1 ~/u/tmp> "..1" 步长在 bash 4.0+ 中添加

以上是关于bash for循环:一系列数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

php 5,for循环没有正确显示以0开头的数字系列[重复]

linux bash shell中for的用法and示例

bash的for循环中#的含义[重复]

bash中的for循环[重复]

使用for循环bash脚本逐行读取文件[重复]

如何在bash for循环中使用变量[重复]