![Shell 作业控制:可以“重命名”正在运行的作业吗?](https://linux22.com/image/117777/Shell%20%E4%BD%9C%E4%B8%9A%E6%8E%A7%E5%88%B6%EF%BC%9A%E5%8F%AF%E4%BB%A5%E2%80%9C%E9%87%8D%E5%91%BD%E5%90%8D%E2%80%9D%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%E4%BD%9C%E4%B8%9A%E5%90%97%EF%BC%9F.png)
在 shell 中(我使用的是 Bash),我经常使用 Ctrl-Z 和fg
来暂停一项作业并将另一项作业放在前台。一个例子是暂停正在运行的 Vim 实例并将之前暂停的 REPL 置于前台。我使用解析为 的别名启动 Vim /usr/local/bin/vim
,并且 的输出jobs
如下所示:
$ jobs
[1]+ Stopped /usr/local/bin/vim print1.hs
[2] Stopped stack ghci
我可以用来fg 2
指定stack ghci
作业规范,但我更喜欢使用制表符完成:
fg s<Tab>
同样,要按 Tab 键完成 Vim 作业规范,我可以fg /<Tab>
,但这样做会感觉更直观:
fg v<Tab>
我模糊地记得读过有关“重命名”工作规范的内容。这样的事可能吗?