是否可以在bash中从其他变量组成变量名,然后询问是否定义了名称为该变量值的变量?
a=foo
b=f_$a
if [ -n "${$b}" ]
我正在寻找一个名为f_foo的变量。我认为像$ {$ b}这样的东西可能会这样做,但这会导致错误的替换
答案 0 :(得分:3)
你想要的是${!var}
bash-ishm
b=b_foo
b_foo=bar
echo ${!b}
bash这是变量间接的唯一功能。
Ksh93具有类似功能typeset -n
或其别名nameref
,语法不同。
typeset -n b=b_foo
b_foo=bar
echo ${b}
bar
中的结果。