在bash中以指定的间隔形成一个整数序列

在bash中以指定的间隔形成一个整数序列,bash,sequence,Bash,Sequence,我使用{0..4}语法创建了一个间隔为1的序列: $ for i in {0..4}; do echo $i; done 0 1 2 3 4 但是,当我使用常规语法{0..4..2}将interval显式设置为2时,它不起作用: $ for i in {0..4..2}; do echo $i; done {0..4..2} 预期产出应为: 0 2 4 我的bash版本: $ echo ${BASH_VERSION} 3.2.25(1)-release 任何反馈都将不胜感激 “序号0

我使用{0..4}语法创建了一个间隔为1的序列:

$ for i in {0..4}; do echo  $i; done
0
1
2
3
4
但是,当我使用常规语法{0..4..2}将interval显式设置为2时,它不起作用:

$ for i in {0..4..2}; do echo  $i; done
{0..4..2}
预期产出应为:

0
2
4
我的bash版本:

$ echo ${BASH_VERSION}
3.2.25(1)-release
任何反馈都将不胜感激

“序号0 2 4”中的i为$;不要重复$i;完成
您可以使用以下语法:

$ for ((i=0; i<=4; i+=2)); do echo $i; done

又好又简单。非常感谢。还在想为什么{0..4..2}不起作用。@koch没问题!据我所知,花括号步骤语法只适用于zsh、ksh93,我相信Bash4+。