我有一个 .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。
bash
,而不是sh
):#!/bin/bash
echo "Bash version ${BASH_VERSION}..."
for i in {1..10}
do
echo "Welcome $i times"
done
你可以使用{0..10..1}
,如果你想从0开始。{start..end..step}
中使用变量时,例如{0..$end..1}
是无效的。在Bash 5.0.17中,end=10; for i in {0..$end..1}; do echo $i; done
将输出{0..10..1}
。 - balu
sh
的身份运行bash
,它将不能正常工作;如果以bash
的身份运行bash
,它将正常工作。 - Jonathan Leffler