चर विस्तार अगर यह सेट है और गैर-शून्य (रिक्त स्ट्रिंग नहीं) ${parameter:-word}
के मूल्य का $parameter
उपयोग करेगा, अन्यथा यह स्ट्रिंग का उपयोग करेगा word
।
:
मान के खाली होने पर वसीयत का परीक्षण नहीं होगा, केवल यह कि क्या यह परेशान है या नहीं।
इसका मतलब यह है कि अगर यह सेट है, लेकिन यह खाली है या परेशान है, तो एक खाली स्ट्रिंग ${PS1-}
के मूल्य में विस्तार होगा $PS1
। इस मामले में, यह ठीक वैसा ही है ${PS1:-}
जैसा कि स्ट्रिंग के बाद -
भी खाली है।
@ राकेश शर्मा नोटों के बीच का अंतर "${PS1-}"
और "$PS1"
सूक्ष्म है, दोनों के मान में विस्तार होगा $PS1
या यदि यह खाली है तो रिक्त स्ट्रिंग में। अपवाद तब set -u
होता है जब वह सक्रिय होता है, जिस स्थिति में परेशान चर का विस्तार करने से त्रुटि होती है । यह (बिना रिक्त) डिफ़ॉल्ट मान "${PS1-}"
, इसे PS1
त्रुटि के बिना रिक्त स्ट्रिंग के लिए एक unset का विस्तार, परिधि द्वारा निर्धारित किया गया है ।
यह मानक वाक्यविन्यास है ( 70 के दशक के उत्तरार्ध में बॉर्न शेल में उत्पन्न ), जैसा कि अन्य, समान विस्तार के एक जोड़े हैं।