SCons env.Command()无法正常工作,未执行任何命令

时间:2019-01-18 10:31:49

标签: command environment-variables output echo scons

我有一个简单的SConstruct文件,如下所示:

import os,sys
env = Environment()

env.Command([], [], "echo abc")

我希望它将输出“ abc”,但实际上,没有多余的打印内容,屏幕输出是:

$scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.

那我该如何解决呢?非常感谢。

1 个答案:

答案 0 :(得分:1)

由于您已经调用了一个没有源也没有目标的构建器,所以它永远不会过时,因此不会运行。

因此,您希望它立即运行,在这种情况下,您应该使用Execute()

env = Environment()
env.Execute("echo abc")

或者只是

Execute("echo abc")

后者会产生

$ scons
scons: Reading SConscript files ...
echo abc
abc
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.