2016-05-15 110 views
2

我需要打印在用戶類型的參數號。無論我做什麼,我總是得到的只是一個空行慶典打印定腳本參數

echo "Give argument number" 
read number 
[email protected] 
echo ${allV[$number]} 

什麼是錯的這幾行?即使我啓動腳本有一些爭論,我只是手動編寫某事像」

echo ${allV[1]} 

再次我得到的是一個空行。

+0

您對'allV'的賦值不會創建數組;因此,像數組一樣索引它並沒有幫助。使用'allV =(「$ @」)''和'echo「$ {allV [$ number]}」'。 –

回答

2

猛砸,您可以使用間接引用,它也適用於編號參數:

echo "${!number}" 

它也可以讓你切的參數列表:

echo "${@:$number:1}" 

或者你可以在參數複製到一個數組:

argv=("[email protected]") 
echo "${argv[number]}" 

在所有情況下,報價幾乎肯定是必需的,如果參數包括空格和/或glob字符。