ในการเขียนสคริปต์ Bash ความหมายของ“ $! “?


คำตอบ:


57

$!มี ID กระบวนการของไปป์ไลน์พื้นหลังที่ดำเนินการล่าสุด จากman bash:

พารามิเตอร์พิเศษ

เชลล์ปฏิบัติต่อพารามิเตอร์หลายอย่างเป็นพิเศษ พารามิเตอร์เหล่านี้สามารถอ้างอิงได้เท่านั้น ไม่อนุญาตให้มอบหมายงานให้

...

! - ขยายไปยัง ID กระบวนการของคำสั่งพื้นหลัง (อะซิงโครนัส) ที่ดำเนินการล่าสุด

ตัวอย่างเช่น:

$ sleep 60 &
[1] 6238
$ echo "$!"
6238

ฉันจะได้รับความรู้สึกที่คุณและ SLM จะพูดเกี่ยวกับสิ่งเดียวกัน :)
ขยะ

22

จากหน้าคนของ Bash:

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

ดังนั้น$!จะมี ID กระบวนการ (PID) ของงานล่าสุดที่มีพื้นหลัง

ตัวอย่าง

$ sleep 100 &
[1] 18813

$ echo "$!"
18813

อ้างอิง


1
ฉันรู้สึกว่าคุณและ Chris Down กำลังพูดถึงสิ่งเดียวกัน :)
CVn

2
ดูเหมือนว่าจะมีเสียงสะท้อนในคำถามที่ 8-)
slm

คะแนนเท่ากันก็นับด้วยเช่นกัน!
CVn

@ MichaelKjörling - จิตใจที่ดีเยี่ยมคิดเหมือนกัน 8-)
slm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.