后台作业输出中的“+”和“ - ”含义是什么

后台作业输出中的“+”和“ - ”含义是什么

当我用

for s in {1,2,3}; do command_$s &; done;

jobs我可以使用以下命令查看所有这些

$ jobs
[2]    running    command_1
[3]  - running    command_2
[4]  + running    command_3

我知道第一列是ID(例如我可以kill -9 %2杀死command_

但是+-和 的缺失意味着什么? 运行man jobsjobs -h不起作用。

答案1

在里面Bash 的信息手册,第 7.1 章“作业控制基础”中有描述:

作业编号 n 可以表示为“%n”。符号“%%”和“%+”表示 shell 的当前作业概念,当前作业是最后一个在前台停止或在后台启动的作业。单个“%”(没有附带作业说明)也表示当前作业。可以使用“%-”引用前一个作业。如果只有一个作业,则“%+”和“%-”都可用于引用该作业。

在与作业有关的输出(例如,命令的输出jobs)中,当前作业始终用“+”标记,而前一个作业则用“-”标记。

相关内容