Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中抑制shell命令的详细输出_Python_Bash - Fatal编程技术网

在python中抑制shell命令的详细输出

在python中抑制shell命令的详细输出,python,bash,Python,Bash,我正在python脚本中运行一个shell命令,该脚本使用subprocess函数安装ruby和rubygems: subprocess.call("yum install ruby rubygems -y 2>&1", shell=True) 然而,在这种情况下,2>&1似乎不像普通bash脚本那样抑制输出。是否有其他方法抑制输出?如果确实需要执行此操作,请使用subprocess.Popen,将stdout和stderr重定向到管道。您忘记了这一点: 1>/dev/n

我正在python脚本中运行一个shell命令,该脚本使用subprocess函数安装ruby和rubygems:

subprocess.call("yum install ruby rubygems -y  2>&1", shell=True)
然而,在这种情况下,
2>&1
似乎不像普通bash脚本那样抑制输出。是否有其他方法抑制输出?

如果确实需要执行此操作,请使用
subprocess.Popen
,将stdout和stderr重定向到管道。

您忘记了这一点:

1>/dev/null
因此,结果脚本将是:

subprocess.call("yum install ruby rubygems -y  2>&1 1>/dev/null", shell=True)

这是一种使用
子流程的糟糕方式。还有,真的吗?