How do I iterate over a range of numbers defined by variables in Bash?

后端 未结 20 2394
予麋鹿
予麋鹿 2020-11-21 05:19

How do I iterate over a range of numbers in Bash when the range is given by a variable?

I know I can do this (called \"sequence expression\" in the Bash documentatio

20条回答
  •  刺人心
    刺人心 (楼主)
    2020-11-21 06:03

    I know this question is about bash, but - just for the record - ksh93 is smarter and implements it as expected:

    $ ksh -c 'i=5; for x in {1..$i}; do echo "$x"; done'
    1
    2
    3
    4
    5
    $ ksh -c 'echo $KSH_VERSION'
    Version JM 93u+ 2012-02-29
    
    $ bash -c 'i=5; for x in {1..$i}; do echo "$x"; done'
    {1..5}
    

提交回复
热议问题