我有一行代码
eval echo \$$var
如何将字符串打印到一个变量中?
像这样:
eval c=\$$var
更好、更安全的方式是使用间接引用:
c=${!var}
newVariable=$(eval echo \$$var)
newVariable=$(eval $var)
,并且成功了! - robe007c=$(eval echo \${$var})
例子: 如果HOME
是环境变量,包含你的主目录,例如/export/users/john
,那么在一个变量内嵌套另一个变量,然后解包该组合将像这样运行:
var=HOME
c=$(eval echo \${$var})
echo $c
/export/users/john
虽然这看起来可能有些复杂,但在某些情况下将会非常有用。
` `
。c=`$var`
bash
,而前者也适用于sh
。 - DanielM