我发现自己一直在追加&> /dev/null &
,所以有没有办法可以将其添加为bgh
之类的别名,所以我可以说rails server bgh
之类的内容?< / p>
我尝试过使用global
和suffix aliases
,但它们似乎并不能满足我的需求。在类似rails server &> /dev/null &
的情况下,&> /dev/null &
的角色的实际术语是什么?它被认为是命令选项还是参数?
由于
答案 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;进入别名。