操作系统是ubuntu12.04
。 我写了一个python程序main.py
,并且想要运行它。 所以我创build了一个名为run.sh
shell脚本。
#!/bin/bash python main.py & >/dev/null 2>&1
并执行这个命令chmod u+x run.sh
但是,当我在./run.sh
,python程序的输出仍然在terminal中。
但是这可以工作: ./run.sh >/dev/null 2>&1
。 但这种方式违背了我的初衷,因为它太复杂了。
我想知道为什么会这样。 我怎么能达到我的意图?
如果你想在后台运行脚本,试试这个:
python main.py >/dev/null 2>&1 &
在&
和>/dev/null
之间有一个空格,所以Python进程在后台运行,不需要应用输出重定向。 如果你删除&
将不会有输出。 这也足以去除空间,因为&>
是有效的bash,但你可能不是这个意思。