Zsh '&> /dev/null &'别名?



我发现自己一直在附加&> /dev/null &,那么有没有办法将其添加为别名,例如bgh,这样我就可以说rails server bgh之类的话?

我尝试使用globalsuffix aliases,但它们似乎不适用于我想要的。 在像rails server &> /dev/null &这样的情况下,&> /dev/null &角色的实际术语是什么? 它是否被视为命令选项或参数?

谢谢

~$ bgh() { "$@" &>/dev/null & }
~$ jobs
~$ bgh sleep 2
[1] 5563
~$ jobs
[1]+  Running                 "$@" &>/dev/null &
~$ 
[1]+  Done                    "$@" &>/dev/null

显式安装 zsh 并在那里运行它做同样的事情:

 ~ % bgh() { "$@" &>/dev/null & }    
 ~ % bgh sleep 1
[2] 6482
 ~ % 
[2]  + done       "$@" &> /dev/null

为了使它符合 POSIX 标准(&>可能不适用于每个 shell),我们可以使用它:

~$ bgh() { "$@" >/dev/null 2>&1 & }

你确实可以用 zsh 中的别名来做到这一点:

alias -g bgh='&> /dev/null &'

和测试

$ man zsh bgh
[1] 18863
$
[1]  + done       man zsh &> /dev/null

即使我个人不会将背景和别名包含在别名中。

相关内容

  • 没有找到相关文章

最新更新