![bash:从控制台运行程序,无需等待或排队](https://linux22.com/image/1398232/bash%EF%BC%9A%E4%BB%8E%E6%8E%A7%E5%88%B6%E5%8F%B0%E8%BF%90%E8%A1%8C%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%97%A0%E9%9C%80%E7%AD%89%E5%BE%85%E6%88%96%E6%8E%92%E9%98%9F.png)
我想从我的 bash shell 运行程序(例如,在 Evince 中打开 PDF)。但是,当我以最简单的方式(evince filename.pdf
)执行此操作时,shell 不允许我输入任何内容,直到我关闭 Evince。此外,关闭 Evince 后,我收到一些错误消息,我最不希望出现这种情况。
我该如何构造命令来实现这一点?
答案1
您可以使用以下命令启动 evince:
$ evince filename.pdf &> /dev/null &
&> /dev/null
将重定向标准错误和标准输出,/dev/null
这样你就不会看到终端中出现的警告和错误- 命令末尾的最后一个
&
将在后台启动该进程,以便您无需关闭 evince 即可继续使用终端。