"&!" 是什么意思 (与号和感叹号)在 linux shell 中的意思

Pei*_* Li 5 shell

我发现有些人在 shell 中运行程序是这样的

exe > the.log 2>&1 &!
Run Code Online (Sandbox Code Playgroud)

我理解第一部分,它将stderr重定向到stdout,“&”也表示在后台运行程序,但我不知道“&!”是什么意思 意思是,感叹号是什么意思?

Edu*_*ich 7

zsh该命令&!是一条捷径disown,即程序将不会在退出调用shell杀害。

参见man zshbuiltins

否认 [ 工作 ... ]
工作 ... &|
工作 ... &!

从作业表中删除指定的作业;shell 将不再报告它们的状态,并且如果您尝试在它们运行或停止的情况下退出交互式 shell,它也不会抱怨。如果未指定作业,则拒绝当前作业。如果作业当前已停止并且未设置 AUTO_CONTINUE 选项,则会打印一条警告,其中包含有关如何在它们被取消后运行的信息。如果使用后两种形式之一,作业将自动运行,与 AUTO_CONTINUE 选项的设置无关。