我的Python脚本通过os.system调用shell命令,如下所示:os.system('sudo ifdown wlan0 &> /dev/null') 如果我在没有Python的情况下运行此命令,则输出将被抑制,但是在Python中,它仍会打印输出。我做错了什么?
当您使用os.system时,使用的shell是/bin/sh。在许多操作系统中,/bin/sh不是bash。您正在使用的重定向&>未被POSIX定义,不能在某些shell上工作,例如dash,它是Debian及其许多衍生产品上的/bin/sh。以下内容应正确抑制输出:os.system('sudo ifdown wlan0 > /dev/null 2>&1')
subprocess
吗?https://dev59.com/iWgu5IYBdhLWcg3wgnVh - John Zwinck