linux - 为什么在这种情况下输出重定向不起作用?

标签 linux bash shell

操作系统是 ubuntu12.04。我写了一个 python 程序 main.py,想轻松运行它。所以我创建了以下名为 run.sh 的 shell 脚本。

#!/bin/bash

python main.py & >/dev/null  2>&1

并执行此命令chmod u+x run.sh

但是,当我 ./run.sh 时,python 程序的输出仍然存在于终端中。
但这可以工作:./run.sh >/dev/null 2>&1。但是这种方式违背了我的初衷,因为它使用起来太复杂了。

我想知道为什么会发生这种情况。我怎样才能实现我的意图?

最佳答案

如果你想在后台运行脚本试试这个:

python main.py >/dev/null  2>&1 &

关于linux - 为什么在这种情况下输出重定向不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20492778/

相关文章:

json - 日志中嵌套字符串化 json 的 pretty-print

bash - 是否可以仅使用命令行从模板创建新的 git 存储库?

bash - UNIX 中的模式匹配解释

bash - 在 Bash : [ -n "$var" ] or [ "$var" ] 中测试非零长度字符串

c++ - 在qmake项目中链接libcairo

linux - 如何在不使用 Intellij 的情况下在 Linux centos 中运行 cucumber 测试用例

linux - 拆分以分号分隔的单词

linux - awk unix 插入文件位置目录

linux - 如何让 cURL 不显示进度条?

linux - 从 linux "date"命令中提取月份和日期