0

我认为这应该很简单,但现在我正在尝试它,我无法弄清楚。我今天早上吃了愚蠢的药吗?

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

这是我想要做的:

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

我如何直接设置这些?

4

2 回答 2

2

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

$ eval $( ./foo )
于 2013-07-18T18:56:56.270 回答
0

您尝试做的是将 foo 文件采购到您的 shell 中。您可以通过调用 dot 命令并将文件作为参数来执行此操作(文件不必是可执行的)

$ . ./foo
$ echo $FOO
bar
于 2013-07-18T18:59:25.290 回答