使用eval将bash输出存储到变量中

Coc*_*ola 19 bash

我有一行代码

eval echo \$$var
Run Code Online (Sandbox Code Playgroud)

它打印一个字符串.如何将此字符串存储到变量中?

per*_*eal 26

像这样:

eval c=\$$var
Run Code Online (Sandbox Code Playgroud)

更好,更安全的方法是使用间接:

c=${!var}
Run Code Online (Sandbox Code Playgroud)

  • 均无效:用后者替代不好。重击4.4.23 (3认同)

has*_*ier 20

newVariable=$(eval echo \$$var)
Run Code Online (Sandbox Code Playgroud)

  • 就我而言,我做了:`newVariable=$(eval $var)`并且工作了! (2认同)