訪問一個位置參數,我想訪問使用變量的位置參數。通過可變
即,如果我定義一個變量爲1,我想要訪問所述第一位置參數,如果我把它定義爲2 I要訪問的第二位置參數。
例如: 慶典script.bash ARG1參數3
var=2
echo $var // will only echo no. 2
??? // insert your command to echo the 2nd positional parameter (arg2)
才能做到這一點?
訪問一個位置參數,我想訪問使用變量的位置參數。通過可變
即,如果我定義一個變量爲1,我想要訪問所述第一位置參數,如果我把它定義爲2 I要訪問的第二位置參數。
例如: 慶典script.bash ARG1參數3
var=2
echo $var // will only echo no. 2
??? // insert your command to echo the 2nd positional parameter (arg2)
才能做到這一點?
做
[[ "$var" -eq "1" ]] && echo "$1" #for positional parameter 1
等等,或者你可以做到這一點象下面這樣:
#!/bin/sh
var=2
eval echo "\$${var}" # This will display the second positional parameter an so on
編輯
我怎麼用這個,如果我真的需要訪問回聲之外。爲 例如 「如果[-f \ $$ {VAR}]」
你已經指出了它的最佳途徑的方法:
var=2
eval temp="\$${var}"
if [ -f "$temp" ] # Do double quote
then
#do something
fi
是的!謝謝。但是,這只是爲了方便其他讀者 - 你訪問它是這樣的:$ {!VAR},即EHCO $ {VAR!}迴音必ARG2 –
但是,該解決方案將使腳本移植性較差,看到後面我的答案的評論。 – sjsam