如何隐藏/禁止Fabric ssh命令输出到控制台?

时间:2019-04-16 12:39:57

标签: python linux python-3.x fabric

在远程服务器上隐藏/禁止结构2.4.0 ssh命令执行

我阅读了结构文档并尝试了--no-pty但没有成功

我在如下所示的远程服务器上执行一堆命令,它将在我的控制台上返回该命令的输出。

ssh_connect.run("sudo /usr/openv/netbackup/bin/admincmd/bppllist -U -verbose -allpolicies | egrep '^Policy Name|Active' | awk '/Active.*yes/{print x};{x=$3}'")

我想隐藏\抑制那些命令的输出。如果我明确使用print()函数,我只希望它打印东西。我正在使用Fabric版本2.4.0

2 个答案:

答案 0 :(得分:0)

只需在您的命令中添加&> /dev/null

ssh_connect.run("sudo /usr/openv/netbackup/bin/admincmd/bppllist -U -verbose -allpolicies | egrep '^Policy Name|Active' | awk '/Active.*yes/{print x};{x=$3}' &> /dev/null")

答案 1 :(得分:0)

我认为您想使用“ hide = True”调用 run

ssh_connect.run(your_command, hide=True)

有关“调用”库,请参见documentation

  

指定hide ='out'(或'stdout')以仅隐藏stdout流,   hide ='err'(或'stderr')仅隐藏stderr,或hide ='both'(或True)   隐藏两个流。