मुझे यूनिक्स शैल विशेष चर (csh, ksh और bash) पर एक अच्छा संदर्भ चाहिए।यूनिक्स शैल प्रोग्रामिंग विशेष चर
उदा। $1
, $*
, $#
, आदि
मुझे यूनिक्स शैल विशेष चर (csh, ksh और bash) पर एक अच्छा संदर्भ चाहिए।यूनिक्स शैल प्रोग्रामिंग विशेष चर
उदा। $1
, $*
, $#
, आदि
यहाँ: http://sillydog.org/unix/scrpt/scrpt2.2.2.php
$ 1 - $ 9 इन चरों स्थितीय मापदंडों हैं।
$ 0 कमांड का नाम वर्तमान में निष्पादित किया जा रहा है।
$ # की संख्या शैल के आवेदक को दिए गए तर्कों की संख्या।
$? की निकास स्थिति निष्पादित अंतिम आदेश दशमलव स्ट्रिंग के रूप में दिया गया है। जब कोई आदेश सफलतापूर्वक पूर्ण हो जाता है, तो यह 0 (35) से बाहर निकलने की स्थिति देता है, अन्यथा यह गैर-शून्य निकास स्थिति देता है।
$$ की प्रक्रिया संख्या इस खोल - के लिए फ़ाइल नामों सहित, अद्वितीय बनाने के लिए उपयोगी है।
$! की प्रक्रिया आईडी पिछली कमांड पृष्ठभूमि में चलती है।
$ - वर्तमान विकल्प इस आमंत्रण खोल के लिए आपूर्ति की गई।
$ * एक स्ट्रिंग जिसमें सभी खोल के तर्क $ 1 से शुरू होते हैं।
$ @ जैसा कि ऊपर दिया गया है, उद्धृत करते समय को छोड़कर।
अधिक संसाधन: $*
, [email protected]
, $#
, $$
, $!
, $?
, $-
, +०१२३०५९१३३५०:
स्पष्टीकरण और उदाहरण के लिए इस Bash Special Parameters Explained with 4 Example Shell Scripts में हैं।
the Linux Documentation Project से (अतिरिक्त $ _ चर के साथ):
$*
, स्थितीय मापदंडों के विस्तार से शुरू। जब विस्तार डबल कोट्स के भीतर होता है, तो यह आईएफएस विशेष चर के पहले अक्षर से अलग प्रत्येक पैरामीटर के मान के साथ एक शब्द तक फैलता है।
[email protected]
एक से शुरू होने वाले स्थितित्मक पैरामीटर में विस्तार करता है।जब विस्तार डबल कोट्स के भीतर होता है, तो प्रत्येक पैरामीटर एक अलग शब्द तक फैलता है।
$#
दशमलव में स्थितित्मक पैरामीटर की संख्या में विस्तार करता है।
$?
सबसे हाल ही में निष्पादित अग्रभूमि पाइपलाइन की निकास स्थिति में विस्तार करता है।
$-
एक हाइफन वर्तमान विकल्प झंडे (जैसे मैं के रूप में), मंगलाचरण पर निर्दिष्ट के रूप में निर्मित आदेश सेट, या खोल से ही सेट उन लोगों द्वारा करने के लिए फैलता है।
$$
खोल की प्रक्रिया आईडी में विस्तारित करता है।
$!
हाल ही में निष्पादित पृष्ठभूमि (एसिंक्रोनस) कमांड की प्रक्रिया आईडी में विस्तारित करता है।
$0
शैल या खोल स्क्रिप्ट के नाम पर विस्तारित करता है।
$_
अंडरस्कोर चर खोल स्टार्टअप पर सेट है और इसमें तर्क सूची में उत्तीर्ण होने वाले शेल या स्क्रिप्ट का पूर्ण फ़ाइल नाम शामिल है। इसके बाद, यह विस्तार के बाद, पिछले आदेश के अंतिम तर्क तक फैलता है। यह निष्पादित प्रत्येक आदेश के पूर्ण पथनाम पर भी सेट किया गया है और उस आदेश को निर्यात किए गए पर्यावरण में रखा गया है। मेल की जांच करते समय, इस पैरामीटर में मेल फ़ाइल का नाम होता है।
सबसे अच्छा संदर्भ है, POSIX स्टैंडर्ड शैल विशिष्टता, Special Parameters पर विशेष रूप से खंड है।
* csh * के '$? Name' से अवगत रहें, जो परिवर्तनीय 'नाम' परिभाषित किया गया है और 0 अन्यथा 1 लौटाता है। (पर्ल दुनिया से आ रहा है, मुझे यह * यूनिक्स पावर टूल्स * में बेहद उलझन में मिला।) –