如何在zshrc里使用alias同时带参数并且在后台运行

我打算让那个 bilidan 在回车后运行并且没输出。于是我在 zshrc 里添加一条

alias bilidan='/home/lwhite/Downloads/danmaku2ass/bilidan.py $1 &> /dev/null &'

它给的输出是

[1] 19296
zsh: no such file or directory: http://www.bilibili.com/video/av1552190/
➜  ~  
[1]  + 19296 done       /mnt/windiskf/ 下载 /danmaku2ass/bilidan.py $1 &> /dev/null

如果去掉最后面的&。

alias bilidan='/home/lwhite/Downloads/danmaku2ass/bilidan.py $1 &> /dev/null

这样就会正常运行。看上去如果最后加一个& 号它就会把 $1 真当成"$1" 了。有什么办法能让后台运作和参数一起生效吗?

nohup

Sent from my iPhone 5s using Tapatalk

我看到你制作的 GUI 项目了,准备去用,谢谢。
把 nohup 加到那条命令里还是不行。alias 是

alias bilidan='nohup /home/lwhite/Downloads/danmaku2ass/bilidan.py $1 &> /dev/null &'

打开终端运行

➜  ~  bilidan http://www.bilibili.com/video/av1707067/                      
[1] 10261
zsh: no such file or directory: http://www.bilibili.com/video/av1707067/
➜  ~  
[1]  + 10261 done       nohup /home/lwhite/Downloads/danmaku2ass/bilidan.py $1 &> /dev/null
➜  ~  

把& 号删了才能运行,在 alias 被删掉& 号的情况下在 zsh 里同样运行那条命令,然后手打& 号就能运行。alias 里的& 号我完全搞不懂为啥它就会把 $1 废了。没有查到关于那个& 号在 alias 的问题解答。

就没有什么办法一行 alias 搞定不用另外建一个脚本吗?我知道有另外写个有参数的脚本,然后 alias 直接运行脚本就行得通的方法。

参阅了
run a function or alias set in bashrc or profile through nohup
using aliases with nohup
alias
Linux 技巧:让进程在后台可靠运行的几种方法