Понятия не имею, что случилось. Я вроде как сдался, но потом после нескольких перезагрузок он просто волшебным образом заработал.
Они должны различать текущее и предыдущее задание; последнее задание и второе последнее задание для более чем двух заданий, с +
для последнего и -
для второго последнего.
Из man bash
:
На предыдущее задание можно ссылаться с помощью
% -
. Если есть только одно задание ,% +
и% -
могут использоваться для ссылки на это задание. В выводе , относящемся к заданиям (например, выводе команды jobs), текущее задание всегда помечается знаком+
, а предыдущее задание - знаком {{ 1}}-
.
$ sleep 5 &
[1] 21795
$ sleep 5 &
[2] 21796
$ sleep 5 &
[3] 21797
$ sleep 5 &
[4] 21798
$ jobs
[1] Running sleep 5 &
[2] Running sleep 5 &
[3]- Running sleep 5 &
[4]+ Running sleep 5 &
$
[1] Done sleep 5
[2] Done sleep 5
[3]- Done sleep 5
[4]+ Done sleep 5
Полагаю, вы имеете в виду, когда проверяете вакансии через $ jobs
. Однако, как вы, наверное, уже знаете, n
обозначает номер задания. [n] +
обозначает последнее задание, которое было вызвано.
[n] -
обозначает предпоследнее задание, которое было вызвано.
Например:
chris@chris-VirtualBox:~$ sleep 30 &
[1] 904
chris@chris-VirtualBox:~$ sleep 50 &
[2] 972
chris@chris-VirtualBox:~$ jobs
[1]- Running sleep 30 &
[2]+ Running sleep 50 &
Вот почему в этом случае наш сон 50 &
является последним: [2] +
и сон 30 &
вторым после последний: [1] -