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

时间:2014-02-26 18:44:39

标签: bash alias zsh

我发现自己一直在追加&> /dev/null &,所以有没有办法可以将其添加为bgh之类的别名,所以我可以说rails server bgh之类的内容?< / p>

我尝试过使用globalsuffix aliases,但它们似乎并不能满足我的需求。在类似rails server &> /dev/null &的情况下,&> /dev/null &的角色的实际术语是什么?它被认为是命令选项还是参数?

由于

2 个答案:

答案 0 :(得分:4)

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

明确安装zsh&amp;在那里运行它会做同样的事情:

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

为了使它符合POSIX(&>可能无法在每个shell中运行),我们可以使用它:

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

答案 1 :(得分:1)

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

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

并测试

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

即使我个人不包括背景&amp;进入别名。