+/- nachdem ein Job im Hintergrund erledigt ist


21

Führen Sie einen Job im Hintergrund aus

$ command &

Wenn dies erledigt ist, wird das Terminal gedruckt

[n]+    command

oder

[n]-    command

Manchmal ist es ein Plus und manchmal ein Minus [n].

Was bedeutet Plus / Minus?

Antworten:


19

Sie sollen zwischen aktueller und vorheriger Tätigkeit unterscheiden; Der letzte Job und der vorletzte Job für mehr als zwei Jobs, mit +dem letzten und -dem vorletzten.

Von man bash:

Der vorherige Job kann mit referenziert werden %-. Wenn es nur einen Job gibt %+und %-beide verwendet werden können, um auf diesen Job zu verweisen. Bei der Ausgabe von Jobs (z. B. der Ausgabe des Befehls jobs) ist der aktuelle Job immer mit einem +und der vorherige Job mit einem gekennzeichnet -.

Beispiel:

$ 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

2

Ich vermute, Sie beziehen sich auf, wenn Sie Jobs über prüfen $jobs. Allerdings, wie Sie wahrscheinlich bereits wissen, nbezeichnet der Job #. Das [n] +kennzeichnet den letzten aufgerufenen Job. [n] -bezeichnet den vorletzten aufgerufenen Job.

Beispielsweise:

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 &

Deshalb ist in diesem Fall unser sleep 50 &letztes [2]+und sleep 30 &vorletztes:[1]-


Ihre Beschreibung der Situation ist unklar und das System sagt nicht voraus, welcher Job zuerst enden wird.
Julie Pelletier

Ich verstehe, was Sie meinen, ich werde den Hauptpunkt betonen
Klamz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.