dar*_*ine 2 bash variable-substitution
假设我有以下内容:
foo1=abc
i=1
a="FOO${i}"
echo ${${a}}
echo ${`echo $a`} # I also tried that
Run Code Online (Sandbox Code Playgroud)
我收到错误bash: ${${a}}: bad substitution
。
${!parameter}
您可以在您的情况下使用参数间接,即${!a}
:
$ foo1=abc
$ i=1
$ a="foo${i}"
$ echo "${!a}"
abc
Run Code Online (Sandbox Code Playgroud)
来自“参数扩展”部分man bash
:
${参数}
…………
如果参数的第一个字符是感叹号 (!),则它引入了一级变量间接寻址。Bash 使用由参数的其余部分形成的变量的值作为变量的名称;然后扩展该变量,并在其余替换中使用该值,而不是参数本身的值。