Запустить работу в фоновом режиме
$ command &
Когда это будет сделано, терминал печатает
[n]+ command
или
[n]- command
Так что иногда это плюс, а иногда - минус [n]
.
Что означает плюс / минус?
Запустить работу в фоновом режиме
$ command &
Когда это будет сделано, терминал печатает
[n]+ command
или
[n]- command
Так что иногда это плюс, а иногда - минус [n]
.
Что означает плюс / минус?
Ответы:
Они должны различать текущую и предыдущую работу; последняя работа и вторая последняя работа для более чем двух работ, причем +
для последней и -
для второй последней.
От man bash
:
На предыдущую работу можно ссылаться с помощью
%-
. Если существует только одна работа,%+
и%-
обе могут использоваться для ссылки на эту работу. В выводе, относящемся к заданию (например, выводе команды заданий), текущее задание всегда помечается знаком a+
, а предыдущее задание --
.
$ 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 &
Вот почему, в данном случае, наш sleep 50 &
последний [2]+
и sleep 30 &
второй для последнего:[1]-