Bash变量查找

时间:2017-07-20 16:24:34

标签: bash

是否可以在bash中从其他变量组成变量名,然后询问是否定义了名称为该变量值的变量?

a=foo
b=f_$a
if [ -n "${$b}" ] 

我正在寻找一个名为f_foo的变量。我认为像$ {$ b}这样的东西可能会这样做,但这会导致错误的替换

1 个答案:

答案 0 :(得分:3)

你想要的是${!var} bash-ishm

b=b_foo
b_foo=bar
echo ${!b}

这是变量间接的唯一功能。

Ksh93具有类似功能typeset -n或其别名nameref,语法不同。

typeset -n b=b_foo
b_foo=bar
echo ${b}

bar中的结果。