我使用fabric运行在另一个主机上执行命令,我想赶上执行命令的stderr。 织物这样的代码:python结构运行命令返回错误作为stdout
def remoteTask(logfile):
with settings(warn_only=True):
result = run("tail -n4 %s | grep \'[error]\' | awk \'{print $1,$2,$0}\'" % logfile)
if result.failed:
raise Exception("Tail failed")
else:
sys.stdout.write(result)
当尾失败,则result.failed是假的,并且结果的值是标准错误尾巴。面料不会抛出异常。
$ python exec.py
stdout: tail: cannot open `/var/log/test.log' for reading: No such file or directory
我只是想从面料得到终止执行或警告知道我的脚本失败与否,但在这种情况下,我不能赶上。
请确保将你的代码包含在问题主体中,而不仅仅是通过截图。 – 2ps
非常感谢您为我编辑问题主体。下次我会更清楚地说明我的问题!谢谢! –