2014-10-02 52 views
0

我正在嘗試創建一個shell腳本,它將使用命令行參數並創建一個或多個基於該腳本的文件。我知道每個命令行參數都存儲在$ 0,$ 1,$ 2 ...等等,所以這就是這個循環的基礎。使用i作爲bash shell腳本中的變量

但是,$ i字面上被視爲數字1,2 ......而不是$ 1中的數值。

+3

http://stackoverflow.com/questions/255898/how-to-ite-over-arguments-in-bash-script#255913 – PSkocik 2014-10-02 20:26:01

+0

謝謝!這實際上很有幫助。即使不使用for循環,我也可以完成整個例程。 – user2793442 2014-10-02 20:28:27

回答

2

您將需要使用間接參數擴展:

echo "File...: ${!i}" 
touch "${!i}" 

然而,這是更簡單,只是重複的論點自己過來:

for f in "[email protected]"; do 
    echo "File...: $f" 
    touch "$f" 
done