加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在bash中使用变量名生成循环数序列?

发布时间:2020-12-16 01:16:55 所属栏目:安全 来源:网络整理
导读:参见英文答案 How do I iterate over a range of numbers defined by variables in Bash?17个 任何人都可以解释我如何在bash for循环中使用变量名来生成一系列数字? for year in {1990..1997}do echo ${year}done 结果: 1990年 1991年 1992年 1993年 1994
参见英文答案 > How do I iterate over a range of numbers defined by variables in Bash?17个
任何人都可以解释我如何在bash for循环中使用变量名来生成一系列数字?
for year in {1990..1997}
do
  echo ${year}
done

结果:

1990年
1991年
1992年
1993年
1994年
1995年
1996年
1997年

然而

year_start=1990
year_end=1997
for year in {${year_start}..${year_end}}
do
  echo ${year}
done

结果:

{} 1990..1997

如何让第二种情况起作用?否则我必须写一些乏味的循环.
非常感谢.

你可以使用这样的东西
for (( year = ${year_start}; year <=${year_end}; year++ ))
do
  echo ${year}
done

seq命令已过时,最好避免使用.

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

如果你想要真正的坏使用以下语法,

for year in {${year_start}..${year_end}}

请修改如下:

for year in $(eval echo "{$year_start..$year_end}")

http://www.cyberciti.biz/faq/unix-linux-iterate-over-a-variable-range-of-numbers-in-bash/

就个人而言,我更喜欢使用((year = ${year_start}; year< = ${year_end}; year)).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读