此代碼括號擴展與數字在bash
echo {1..7}
打印1 2 3 4 5 6 7
。
但這個代碼
t=7
echo {1..$t}
打印{1..7}
。
我該如何獲得{1..$t}
擴展爲1 2 3 4 5 6 7
?
此代碼括號擴展與數字在bash
echo {1..7}
打印1 2 3 4 5 6 7
。
但這個代碼
t=7
echo {1..$t}
打印{1..7}
。
我該如何獲得{1..$t}
擴展爲1 2 3 4 5 6 7
?
你沒有。使用例如seq
爲是,因爲括號擴展是任何其他擴展之前執行和eval
是惡:-)
$ a=5
$ seq 1 $a
1
2
3
4
5
爲什麼eval邪惡? – oz1cz
參見例如http://mywiki.wooledge.org/BashFAQ/048 –
在shell腳本中使用eval
(評估)。
eval echo {1..$t}
見[bash的手冊](http://www.gnu.org/software/bash/manual/bashref .html#Shell-Expansions)獲取擴展順序。 –