:+
এক ধরনের প্যারামিটার সম্প্রসারণ :
{{পরামিতি: + [শব্দ]} : বিকল্প মান ব্যবহার করুন।
যদি প্যারামিটারটি সেট না করা বা নাল হয় তবে নালটি প্রতিস্থাপন করা হবে; অন্যথায় শব্দের প্রসার (বা শব্দ বাদ দিলে খালি স্ট্রিং) প্রতিস্থাপন করা হবে।
অন্য কথায়, যদি ভেরিয়েবলটি $var
সংজ্ঞায়িত করা হয় তবে এটি echo ${var:+foo}
মুদ্রণ করবে foo
এবং এটি না থাকলে এটি খালি স্ট্রিংটি মুদ্রণ করবে।
দ্বিতীয়টি :
বিশেষ কিছু নয়। এটি ডিরেক্টরিগুলির তালিকার পৃথককারী হিসাবে ব্যবহৃত অক্ষর $PATH
। সুতরাং, PATH="/usr/local/bin:/usr/bin${PATH:+:${PATH}}"
লেখার একটি সংক্ষিপ্ত উপায়:
if [ -z "$PATH" ]; then
PATH=/usr/local/bin:/usr/bin
else
PATH=/usr/local/bin:/usr/bin:$PATH
fi
সেট না করা :
অবস্থায় অতিরিক্ত যুক্ত করা এড়াতে এটি কেবল একটি চতুর কৌশল $PATH
। উদাহরণ স্বরূপ:
$ PATH="/usr/bin"
$ PATH="/new/dir:$PATH" ## Add a directory
$ echo "$PATH"
/new/dir:/usr/bin
তবে যদি PATH
সেট না করে থাকে:
$ unset PATH
$ PATH="/new/dir:$PATH"
$ echo "$PATH"
/new/dir:
এ :
নিজেই ডিরেক্টরিতে বর্তমান ডিরেক্টরি যুক্ত করে $PATH
। ব্যবহার PATH="/new/dir${PATH:+:$PATH}"
এড়ানো এড়ায়। সুতরাং নিশ্চিত, আপনি চাইলে ব্যবহার করতে পারেন PATH="${PATH:+${PATH}:}/usr/local/bin:/usr/bin"
, বা আপনি চাইলে ব্যবহার করতে পারেন PATH="$PATH:/usr/local/bin:/usr/bin"
। পার্থক্যটি হ'ল পূর্বের অতিরিক্ত অতিরিক্ত যুক্ত করতে পারে :
যার ফলে আপনার বর্তমান ডিরেক্টরিটি আপনারতে যুক্ত করা যেতে পারে $PATH
।