0

当我在后台通过 启动命令时,command &可以从变量中检索命令的进程 ID $!。此值可以保存并在以后的命令中使用,例如kill.

然而,一些内置插件,特别是fg需要一个“jobspec”,它是一个特殊的 shell 东西,以%. 因此,如果我启动一个后台命令,我可以在之后通过 将其置于前台command & fg %+,因为%+它是最近后台命令的作业规范。

如果我在后台启动两个命令,我可以使用 : 将第一个命令放在前台%-,这是 jobspec 的先前%+command1 & command2 & fg %-

但这不能概括为三个命令。通常需要的是能够为%nnn刚刚在后台盯着的命令保存作业规范。这可以通过类似的东西来完成jobs | sed -e '$!d' -e 's/^\[\([0-9]\+].*$/%\1/,但应该有比这更好的方法。

4

0 回答 0