Bash
在shell中間接擴展變數
我需要在
bash
shell 中間接引用一個變數。我基本上想
make
通過寫作來做什麼$($(var))
。我嘗試過使用
${$var}
which 將是最直接的解決方案,bash
但隨後我收到此錯誤:bash: ${$var}: bad substitution
有沒有辦法做到這一點?
我想要做的是使用迭代變數將所有參數(
$1
,$2
,$3
, …)迭代到程序中,如果沒有間接,我無法做到這一點。
如果你有
var1=foo
andfoo=bar
,你可以bar
說${!var1}
. 但是,如果您想迭代位置參數,幾乎肯定會更好for i in "$@"; do # something done
使用
/bin/bash
:foo=bar test=foo echo ${!test} # prints -> bar