如何获得和保存bash" jobspec"对于背景命令?

时间:2018-05-12 22:27:45

标签: bash job-control

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

然而,一些内置插件,特别是fg需要" jobspec",这是一个以%开头的特殊shell内容。因此,如果我启动后台命令,我可以通过command & fg %+将其前置,因为%+是最近后台命令的jobspec。

如果我在后台启动两个命令,我可以使用%-前置第一个命令,这是jobpec,它是%+的前一个值:command1 & command2 & fg %-

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

0 个答案:

没有答案