从shell脚本中的字符串查找变量值

时间:2012-06-06 17:29:50

标签: bash

在bash,如果我有:

y=10
x='y'
echo $x # prints 'y'

现在我希望通过$ x获得$y

echo ${$x} # error: "bad substitution"; I want to print 10

如何查找名为$x的变量值?

2 个答案:

答案 0 :(得分:7)

请参阅bash手册中的参数扩展:

echo ${!x}

答案 1 :(得分:0)

在转义外部美元符号时使用eval indirect references

eval echo "\${$x}"

分配给变量

eval "z=\${$x}"
echo "$z"
# 10