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