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