Welche Bedeutung hat „$! ”?


39

Wenn ich mit eine Variable zuordne

temp=$!

Was wäre das für ein Wert?

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

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


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
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.