我有一行代码
eval echo \$$var
打印一个字符串。如何将此字符串存储到变量中?
答案 0 :(得分:23)
像这样:
eval c=\$$var
更好,更安全的方法是使用间接:
c=${!var}
答案 1 :(得分:16)
newVariable=$(eval echo \$$var)
答案 2 :(得分:0)
这可以通过使用反引号 - `
c=`$var
答案 3 :(得分:0)
您可以尝试:在bash上对我有用。
c=$(eval echo \${$var})
示例:如果HOME
是包含/export/users/john
之类的主目录的环境变量,则将变量嵌入另一个变量中,然后对该组合进行解压缩将如下所示:
var=HOME
c=$(eval echo \${$var})
echo $c
/export/users/john
虽然看起来可能不必要地令人费解,但在某些情况下很有用。