我发现自己一直在附加&> /dev/null &
,那么有没有办法将其添加为别名,例如bgh
,这样我就可以说rails server bgh
之类的话?
我尝试使用global
和suffix 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
即使我个人不会将背景和别名包含在别名中。