Uruchom zadanie w tle
$ command &
Po zakończeniu terminal drukuje
[n]+ command
lub
[n]- command
Więc czasami jest to plus, a innym razem minus [n]
.
Co oznacza plus / minus?
Uruchom zadanie w tle
$ command &
Po zakończeniu terminal drukuje
[n]+ command
lub
[n]- command
Więc czasami jest to plus, a innym razem minus [n]
.
Co oznacza plus / minus?
Odpowiedzi:
Mają rozróżniać bieżącą i poprzednią pracę; ostatnia praca i druga ostatnia praca dla więcej niż dwóch prac, z +
ostatnią i -
drugą ostatnią.
Od man bash
:
Do poprzedniego zadania można się odwołać za pomocą
%-
. Jeśli istnieje tylko jedno zadanie%+
i%-
można je wykorzystać w odniesieniu do tego zadania. W danych wyjściowych dotyczących zadań (np. Danych wyjściowych polecenia zadań) bieżące zadanie jest zawsze oznaczane za pomocą a+
, a poprzednie zadanie za pomocą-
.
$ 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
Zgaduję, że masz na myśli, kiedy sprawdzasz zlecenia za pośrednictwem $jobs
. Jednak, jak zapewne już wiesz, n
oznacza pracę #. [n] +
Oznacza ostateczną pracę, która została wywołana.
[n] -
oznacza od drugiego do ostatniego zadania, które się nazywa.
Na przykład:
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 &
Dlatego w tym przypadku nasza sleep 50 &
jest ostatnia: [2]+
i sleep 30 &
przedostatnia:[1]-