如何从逐字shell输出中设置变量?

时间:2013-07-18 18:47:03

标签: shell unix environment-variables eval

我认为这应该很简单,但是现在我正在尝试它,我无法理解它。我今天早上服用了愚蠢的药片吗?

我有一个带输出的命令,它是我想要设置的一些变量。我以为我可以使用eval,但这显然不起作用。

以下是我想要做的事情:

$ ./foo
FOO=bar
BAR=baz
$ eval ./foo
$ echo $FOO
bar

如何直接设置?

2 个答案:

答案 0 :(得分:2)

您需要评估脚本的输出,而不是字符串./foo

$ eval $( ./foo )

答案 1 :(得分:0)

您尝试使用fooo将foo文件导入shell。你可以通过调用dot命令并将你的文件作为参数(文件不必是可执行的)来做到这一点

$ . ./foo
$ echo $FOO
bar