bash - विशेष डॉलर साइन शैल चर क्या हैं?
environment-variables echo (3)
कुछ उदाहरणों का ख्याल रखना; $ 0 में कुछ प्रमुख पथ के साथ-साथ कार्यक्रम का नाम भी शामिल हो सकता है। जैसे इस दो पंक्ति स्क्रिप्ट को ./mytry.sh के रूप में सहेजें और इसे निष्पादित करें।
#!/bin/bash
echo "parameter 0 --> $0" ; exit 0
आउटपुट:
parameter 0 --> ./mytry.sh
यह स्लैकवेयर 14.2 के माध्यम से, बैश के वर्तमान (वर्ष 2016) संस्करण पर है
बैश में, कई चर होते हैं जो विशेष, लगातार-अर्थ मान रखते हैं। उदाहरण के लिए,
./myprogram &; echo $!
प्रक्रिया के पीआईडी को वापस कर देगा जो myprogram
पृष्ठभूमि। मैं दूसरों के बारे में जानता हूं, जैसे कि $?
जो मुझे लगता है कि वर्तमान टीटीवी है। क्या वहां कुछ हैं?
$#
, $0
और $1
, ..., $n
करते हैं, यह समझने में सहायता के लिए, मैं इस स्क्रिप्ट का उपयोग करता हूं:
#!/bin/bash
for ((i=0; i<=$#; i++)); do
echo "parameter $i --> ${!i}"
done
इसे चलाने से प्रतिनिधि उत्पादन आता है:
$ ./myparams.sh "hello" "how are you" "i am fine"
parameter 0 --> myparams.sh
parameter 1 --> hello
parameter 2 --> how are you
parameter 3 --> i am fine
-
$1
,$2
,$3
, ... स्थितित्मक पैरामीटर हैं । -
"[email protected]"
सभी स्थितित्मक पैरामीटर,{$1, $2, $3 ...}
का एक सरणी जैसा निर्माण है। -
"$*"
सभी स्थितित्मक मानकों का आईएफएस विस्तार है,$1 $2 $3 ...
-
$#
स्थितित्मक मानकों की संख्या है। -
$-
खोल के लिए सेट वर्तमान विकल्प। - वर्तमान खोल का
$$
पिड (सबहेल नहीं)। -
$_
सबसे हालिया पैरामीटर (या स्टार्टअप के तुरंत बाद वर्तमान खोल शुरू करने के लिए कमांड का abs पथ)। -
$IFS
(इनपुट) फ़ील्ड विभाजक है। -
$?
सबसे हाल ही में अग्रभूमि पाइपलाइन निकास स्थिति है। -
$!
सबसे हालिया पृष्ठभूमि कमांड का पीआईडी है। -
$0
खोल या खोल स्क्रिप्ट का नाम है।
उपरोक्त में से अधिकांश बैश संदर्भ मैनुअल में विशेष पैरामीटर के तहत पाया जा सकता है। खोल द्वारा निर्धारित सभी पर्यावरण चर हैं ।
एक व्यापक सूचकांक के लिए, कृपया संदर्भ मैनुअल वैरिएबल इंडेक्स देखें ।