2013-09-22 88 views
0

此代碼括號擴展與數字在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

+0

見[bash的手冊](http://www.gnu.org/software/bash/manual/bashref .html#Shell-Expansions)獲取擴展順序。 –

回答

3

你沒有。使用例如seq爲是,因爲括號擴展是任何其他擴展之前執行和eval是惡:-)

$ a=5 

$ seq 1 $a 
1 
2 
3 
4 
5 
+0

爲什麼eval邪惡? – oz1cz

+0

參見例如http://mywiki.wooledge.org/BashFAQ/048 –

1

在shell腳本中使用eval(評估)。

eval echo {1..$t}