Fabric:隐藏远程作业的标准输出,但只显示“grep”行

Fabric: hide stdout for remote jobs, but only show a 'grep'ed line

我想为我的本地程序显示标准输出,它使用 fabric 运行 两个远程程序。我想隐藏两个远程程序的标准输出。 (我知道有一个隐藏输出选项)。但是,我确实想显示来自两个远程程序之一的打印语句之一(可以 grep)。

我该怎么做?

结构如下:

Process 1:

with settings ():
    run(cmd)

start Process 1


Process 2:

with settings ():
    run(cmd)

Start Process 2

我大概能做到:

with hide('output'):
    run(cmd)

但这完全隐藏了远程程序的输出。 我希望能够显示来自远程程序之一的特定标准输出行。

您可以将 grep 输出分配给一个变量,然后打印缩短的输出

像这样:

content = sudo('git status | sed -n 2p | grep -w "Your branch is up-to-date"')

print (content)

希望对您有所帮助!!