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循环:一系列数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章