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, noznacza 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]-