Python压缩shell输出

时间:2016-04-24 16:13:35

标签: python shell dev-null

我的Python脚本通过os.system调用shell命令:

os.system('sudo ifdown wlan0 &> /dev/null')

如果我在没有Python的情况下运行此命令,则会在Python中禁止输出,但是仍会打印输出。

我做错了什么?

1 个答案:

答案 0 :(得分:8)

使用os.system时,使用的shell为/bin/sh。在许多操作系统上,/bin/sh不是bash。您正在使用的重定向&>不是由POSIX定义的,并且不适用于某些shell,例如dash,它们是Debian上的/bin/sh及其许多衍生产品。以下内容应正确抑制输出:

os.system('sudo ifdown wlan0 > /dev/null 2>&1')