बैश पटकथा में, "$ का अर्थ क्या है!" "?


39

अगर मैं एक चर के साथ असाइन कर रहा हूँ

temp=$!

इसका मूल्य क्या होगा?

जवाबों:


57

$!सबसे हाल ही में निष्पादित पृष्ठभूमि पाइपलाइन की प्रक्रिया आईडी शामिल है। से man bash:

विशेष पैरामीटर

शेल कई मापदंडों को विशेष रूप से मानता है। इन मापदंडों को केवल संदर्भित किया जा सकता है; उन्हें असाइनमेंट की अनुमति नहीं है।

...

! - सबसे हाल ही में निष्पादित पृष्ठभूमि (अतुल्यकालिक) कमांड की प्रक्रिया आईडी का विस्तार करता है।

उदाहरण के लिए:

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

मुझे लग रहा है कि आप और slm एक ही बात के बारे में कह रहे हैं :)
msw

22

बैश के मैन पेज से:

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

तो $!अंतिम नौकरी की प्रक्रिया आईडी (पीआईडी) शामिल होगी जिसे पृष्ठभूमि में रखा गया था।

उदाहरण

$ sleep 100 &
[1] 18813

$ echo "$!"
18813

संदर्भ


1
मुझे लग रहा है कि आप और क्रिस डाउन एक ही बात के बारे में कह रहे हैं :)
एक CVn

2
ऐसा लगता है कि इस प्रश्न 8-) पर एक गूंज है।
स्लम

एक ही वोट मायने रखता है, भी!
बजे एक CVn

@ माइकलकॉर्जलिंग - हे महान दिमागों को एक जैसा लगता है 8-)।
स्लम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.