示例:
X=TEST
TEST_VAR=123
eval echo ${${X}_VAR}
出现错误:
${${X}_VAR}: bad substitution
我如何实现自己的目标?
答案 0 :(得分:2)
或者完全避免将eval
与nameref
(使用declare -n
创建)一起使用,例如
#!/bin/bash
X=TEST
TEST_VAR=123
declare -n foo=${X}_VAR
echo $foo
使用/输出示例
$ ./myscript
123
答案 1 :(得分:1)
只要逃脱美元符号:
eval echo \$${X}_VAR