Welche Bedeutung hat „$! ”?

39

Wenn ich mit eine Variable zuordne

temp=$!

Was wäre das für ein Wert?

Chen A.
quelle

Antworten:

57

$!Enthält die Prozess-ID der zuletzt ausgeführten Hintergrund-Pipeline. Von man bash:

Spezielle Parameter

Die Shell behandelt einige Parameter speziell. Diese Parameter dürfen nur referenziert werden; eine Zuordnung zu ihnen ist nicht zulässig.

...

! - Wird auf die Prozess-ID des zuletzt ausgeführten Hintergrundbefehls (asynchron) erweitert.

Beispielsweise:

$ sleep 60 &
[1] 6238
$ echo "$!"
6238
Chris Down
quelle
Ich habe das Gefühl, dass Sie und slm über die gleiche Sache sagen :)
msw
22

Aus Bashs Manpage:

   !   Expands to the process ID of the most recently executed 
       background (asynchronous) command.

So $!würde enthält die Prozess - ID (PID) des letzten Job, den backgrounded wurde.

Beispiel

$ sleep 100 &
[1] 18813

$ echo "$!"
18813

Verweise

slm
quelle
1
Ich habe das Gefühl, dass du und Chris Down dasselbe sagen :)
ein Lebenslauf vom
2
Anscheinend gibt es ein Echo zu dieser Frage 8-).
slm
Gleiche Stimmen zählen auch!
ein Lebenslauf
@ MichaelKjörling - hey tolle Köpfe denken gleich 8-).
SLM