Réponses:
Ils doivent faire la distinction entre l'emploi actuel et l'emploi précédent; le dernier emploi et l'avant-dernier emploi pour plus de deux emplois, avec +
pour le dernier et-
pour l'avant-dernier.
De man bash
:
Le travail précédent peut être référencé à l'aide de
%-
. S'il n'y a qu'un seul travail,%+
et%-
peuvent tous deux être utilisés pour faire référence à ce travail. Dans la sortie relative aux travaux (par exemple, la sortie de la commande jobs), le travail en cours est toujours signalé par un+
et le travail précédent par un-
.
$ 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
Je suppose que vous faites référence à lorsque vous vérifiez les emplois via $jobs
. Cependant, comme vous le savez probablement déjà, n
désigne le travail n °. Le [n] +
indique le travail final qui a été appelé.
[n] -
désigne l'avant-dernier travail appelé.
Par exemple:
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 &
C'est pourquoi, dans ce cas, notre sleep 50 &
est le dernier: [2]+
et l' sleep 30 &
avant-dernier:[1]-