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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/18185305/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-10 00:03:05  来源:igfitidea点击:

Storing bash output into a variable using eval

bash

提问by CocaCola

I have a line of code

我有一行代码

eval echo $$var

which prints a string. How can I store this string into a variable?

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

回答by perreal

Like this:

像这样:

eval c=$$var

a better, safer way is to use indirection:

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

c=${!var}

回答by hashier

newVariable=$(eval echo $$var)

回答by sevvalai

This can achieved by using the back quote syntax : ` `

这可以通过使用反引号语法来实现: ` `

c=`$var`