如何在Bash中进行取代基内的替换
例如:如何在Bash中进行取代基内的替换,bash,shell,Bash,Shell,例如: X=TEST TEST_VAR=123 eval echo ${${X}_VAR} 这会产生以下错误: ${${X}_VAR}: bad substitution 我如何才能实现我想要做的事?只要避开美元符号: eval echo \$${X}_VAR 或者使用nameref(使用declare-n创建)避免eval,例如 示例使用/输出 $ ./myscript 123 $ ./myscript 123
X=TEST
TEST_VAR=123
eval echo ${${X}_VAR}
这会产生以下错误:
${${X}_VAR}: bad substitution
我如何才能实现我想要做的事?只要避开美元符号:
eval echo \$${X}_VAR
或者使用
nameref
(使用declare-n创建)避免eval
,例如
示例使用/输出
$ ./myscript
123
$ ./myscript
123