我经常从 shell 程序(在我的情况下为Bash)中执行要立即 fork 的命令,而这些命令的输出我想忽略。实际上,我经常创建一个脚本(silent
)来做到这一点:
#!/bin/bash
$@ &> /dev/null &
然后,我可以运行
silent inkscape myfile.svg
并且我的终端不会被我刚刚 fork 的进程的调试输出所污染。
我有两个问题:
&> /dev/null &
的内容? silent
命令之后使制表符完成工作,好像它不在那儿一样?举个例子,在我键入silent inksc
之后,我希望bash在我按silent inkscape
时自动完成对[tab]
的命令。 最佳答案
撇开:您可能想在exec "$@" &> /dev/null &
脚本中添加silent
,以使其放弃子 shell ,而"$@"
周围的引号将防止空格妨碍您。
至于#2:complete -F _command silent
应该做一些你想要的事情。 (我将该脚本的版本称为launch
,在complete -F launch
中包含.bash_profile
)
关于bash - 只需将命令的输出 fork 并将其重定向到/dev/null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8432853/