: বাশের জন্য কোলন কমান্ড


28

বাশ নবী হিসাবে কথা বলতে বলতে আমি আমার .bashrc কে কপি / পেস্ট + গিথুব এর মাধ্যমে আপগ্রেড করছি এবং আমি :এবং গুগল উভয়ই কমান্ডটি পেয়েছি। যেমন : ${USER_BASH_COMPLETION_DIR:=~/.bash_completion.d}

মূলত আমার .bashrc এ এই বিবৃতিটি ছাড়াই এবং আমার টার্মিনালে এই জিনিসগুলি টাইপ করা ( -> প্রাসঙ্গিক আউটপুট নির্দেশ করে):

: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
echo $USER_BASH_COMPLETION_DIR
-> /Users/sh/.bash_completion.d

এবং:

: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
export USER_BASH_COMPLETION_DIR=asdf
echo $USER_BASH_COMPLETION_DIR
-> asdf

কিন্তু:

: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
export USER_BASH_COMPLETION_DIR=asdf
: ${USER_BASH_COMPLETION_DIR=~/.bash_completion.d}
echo $USER_BASH_COMPLETION_DIR
-> asdf

আমি পাই না!

1) কোলন কমান্ড কীভাবে একটি পরিবর্তনশীল সেট করে কিন্তু একটি সেট ওভাররাইট করতে পারে না export?

2) :কিছু .bashrc ব্যবহার করার পিছনে যুক্তি কি ?

ম্যাক 10.6.8 ব্যবহার করা হচ্ছে

(প্রসঙ্গের বাইরে কীওয়ার্ড কোলনের অন্তর্ভুক্ত কেবল আমার মতো অন্যদের যারা এই শব্দটি অনুসন্ধান করার চেষ্টা করেছিলেন তাদের সহায়তা করার জন্য)


সেখানে চমত্কার উত্তরটি দেখুন stackoverflow.com/questions/10390406/…
সিড্রিক

উত্তর:


45

:হ'ল শেল বিল্টিন যা মূলত trueকমান্ডের সমতুল্য । এটি প্রায়শই কোনও ifবিবৃতি হিসাবে নো-অপ্প হিসাবে ব্যবহৃত হয় । স্ট্যাক ওভারফ্লো থেকে আপনি এই প্রশ্নটিতে আরও পড়তে পারেন ।

${varname=value}মূলত উপায়ে মান সেট $varnameকরতে valueযদি $varnameইতিমধ্যে সেট না করা হয়, এবং তারপর $ VARNAME মান ফিরে। আপনি যদি কমান্ড লাইনে এটি চালানোর চেষ্টা করেন তবে এটি ফিরে আসা মানটি চালানোর চেষ্টা করবে। :কোনও অপ-বিকল্প হিসাবে সামনে রেখে বাশকে মান চালানোর চেষ্টা থেকে বাধা দেয়।

দ্রষ্টব্য দুটি ভিন্ন ভিন্ন ফর্ম রয়েছে:

${varname:=value}

ভেরনামটি যদি আনসেট না করা হয় বা নাল হয় তবে মানটিতে মান নির্ধারণ করে।

${varname=value}

শুধুমাত্র বর্ণের মান নির্ধারণ করে যদি বর্তমানে ভেরনামটি সেট না থাকলে (যেমন, এটি বর্ণটি "" থেকে মানে পরিবর্তন করবে না)

(একটি মন্তব্যে তা স্পষ্ট করার জন্য চ্যানারকে ধন্যবাদ)

অন্য কেউ এই পদ্ধতিটি উল্লেখ করছেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.