পরিবর্তনশীল প্রসারণটি সেট করা থাকলে এবং নন-নাল (খালি স্ট্রিং নয়) এর ${parameter:-word}মান ব্যবহার করবে $parameter, অন্যথায় এটি স্ট্রিংটি ব্যবহার করবে word।
:মানটি খালি থাকলে তা ছাড়াই পরীক্ষার হবে না, কেবল এটি আনসেট করা আছে কি না।
এর অর্থ এটি সেট করা থাকলে এর ${PS1-}মানতে প্রসারিত হবে $PS1তবে এটি খালি বা আনসেট না থাকলে একটি ফাঁকা স্ট্রিংয়ে যাবে। এই ক্ষেত্রে, এই হল ঠিক একই হিসাবে ${PS1:-}স্ট্রিং পর -এছাড়াও খালি।
@ রকেশ শর্মা নোট হিসাবে "${PS1-}"এবং এর মধ্যে পার্থক্যটি "$PS1"সূক্ষ্ম: উভয়ই $PS1যদি সেট না করে থাকে তবে এটির মান বা খালি স্ট্রিংয়ে প্রসারিত হবে । ব্যতিক্রমটি যখন set -uসক্রিয় থাকে, সেই ক্ষেত্রে আনসেট ভেরিয়েবলগুলি প্রসারণ করা ত্রুটির কারণ হতে পারে । (খালি) ডিফল্ট মান সেট করে এটি ত্রুটি ছাড়াই খালি স্ট্রিংটিতে "${PS1-}"একটি সেট না PS1করে প্রসারিত করে ।
এটি স্ট্যান্ডার্ড সিনট্যাক্স ( s০-এর দশকের শেষের দিকে বোর্ন শেল থেকে উদ্ভূত ), একইরকম আরও কয়েকটি বিস্তৃতি।