কিভাবে পরিবর্তনশীল সেট বা বাশ খালি চেক করতে হয়

How Check Variable Is Set



একটি পরিবর্তনশীল সংজ্ঞায়িত বা অনির্ধারিত হতে পারে। যখন কোন ভেরিয়েবল ঘোষিত বা ঘোষিত হয় না কিন্তু কোন মান নির্ধারিত হয় না তখন ভেরিয়েবল সেট বা অনির্ধারিত হয় না। যখন কোন ভেরিয়েবল ঘোষণা করা হয় এবং একটি মান দিয়ে বরাদ্দ করা হয় তখন ভেরিয়েবল সেট করা হয়। অনেক সময় প্রোগ্রামিংয়ের উদ্দেশ্যে নির্দিষ্ট ভেরিয়েবল সেট করা আছে কিনা তা জানা প্রয়োজন। ভেরিয়েবল চেক করার একটি গুরুত্বপূর্ণ উদ্দেশ্য হল ডেটা যাচাইকরণ। বাশের কোনো অন্তর্নির্মিত ফাংশন নেই যেমন অন্যান্য স্ট্যান্ডার্ড প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি একটি ভেরিয়েবল সেট করা আছে কিনা তা পরীক্ষা করার জন্য। কিন্তু এই কাজটি করার জন্য ব্যাশের একটি বৈশিষ্ট্য রয়েছে। আপনি কিভাবে ভেরিয়েবলটি সেট করতে পারেন বা ব্যাশে চেক করতে পারেন তা এই টিউটোরিয়ালে দেখানো হয়েছে।

বাক্য গঠন:







[[ -ভিপরিবর্তনশীল]]অথবা[[ -সঙ্গেপরিবর্তনশীল]]

'-V' বা '-z' বিকল্পটি ভেরিয়েবল সেট বা সেট না করার জন্য ব্যবহৃত হয়। ভেরিয়েবল সেট করা হলে উপরের বুলিয়ান এক্সপ্রেশন সত্য হবে এবং ভেরিয়েবল সেট না থাকলে বা খালি হলে মিথ্যা রিটার্ন করবে।



$ {পরিবর্তনশীল+স্ট্রিং}

প্যারামিটার বিকল্প হল ভেরিয়েবল সেট বা সেট না করার আরেকটি উপায়। যদি ভেরিয়েবল সেট করা হয়, তাহলে স্ট্রিং এর মান ফিরে আসবে অন্যথায় শূন্য ফিরে আসবে।



উদাহরণ -১: '-z' বিকল্প ব্যবহার করে ভেরিয়েবল সেট বা আনসেট আছে কিনা তা পরীক্ষা করুন

নামে একটি ব্যাশ ফাইল তৈরি করুন check_var1.sh নিম্নলিখিত স্ক্রিপ্ট সহ। এখানে, প্রথম ` যদি শর্ত সত্য ফিরে আসবে এবং সংখ্যা পরিবর্তনশীল সেট করা হয় না মুদ্রণ করবে। পরবর্তী বিবৃতিতে, ভেরিয়েবলের জন্য 20 নির্ধারিত হয়, $ num । দ্বিতীয় 'যদি' শর্তটি মিথ্যা এবং ফিরে আসবে Num সেট করা আছে এবং Num এর মান = 20 মুদ্রণ করবে।





check_var1.sh

#!/বিন/ব্যাশ
#চেক করুন ভেরিয়েবল সেট আছে কি না
যদি [ -সঙ্গে $ {Num} ];তারপর
বের করে দিল '' সংখ্যা 'পরিবর্তনশীল সেট করা নেই'
অন্য
বের করে দিল '' সংখ্যা 'পরিবর্তনশীল সেট করা হয়েছে'
থাকা
#একটি মান নির্ধারণ করুন
একের উপর=বিশ
#ভেরিয়েবল সেট করা আছে কি না মান নির্ধারণ করার পর পরীক্ষা করুন
যদি [ -সঙ্গে $ {Num} ];তারপর
বের করে দিল '' সংখ্যা 'পরিবর্তনশীল সেট করা নেই'
অন্য
বের করে দিল '' Num সেট করা আছে এবং Num = এর মান$ num'
থাকা

স্ক্রিপ্ট চালান।



$বাশcheckvar1.sh

উদাহরণ -২: প্যারামিটার বিকল্প ব্যবহার করে ভেরিয়েবল সেট বা সেট করা আছে কিনা তা পরীক্ষা করুন

নামে একটি ব্যাশ ফাইল তৈরি করুন check_var2.sh এবং নিম্নলিখিত স্ক্রিপ্ট যোগ করুন। এখানে, একটি স্ট্রিং মান ভেরিয়েবলের জন্য নির্ধারিত হয়, $ str ভেরিয়েবলটি সেট বা সেট না করার আগে। 'যদি' শর্তটি সত্য এবং বার্তাটি ফিরে আসবে, 'Str' ভেরিয়েবল সেট করা হয়েছে এবং মান হ্যালো মুদ্রণ করবে।

check_var2.sh

#!/বিন/ব্যাশ
#ভেরিয়েবল সেট করুন
পৃ= হ্যালো
স্ট্রি ভেরিয়েবল সেট করা থাকলে মানকে ওয়ার্ল্ড চেকভ্যাল এ্যাসাইন করুন
চেকভ্যাল=$ {str+World}
#চেক করুন ভেরিয়েবল সেট বা সেট না
যদি [ $ checkval -ইকবিশ্ব];তারপর
বের করে দিল '' Str 'পরিবর্তনশীল সেট করা হয় এবং মান হয়$ str'
অন্য
বের করে দিল 'Str' ভেরিয়েবল সেট করা নেই '
থাকা

স্ক্রিপ্ট চালান।

$বাশcheckvar2.sh

উদাহরণ-3: ভেরিয়েবলটি খালি কিনা তা পরীক্ষা করুন

নামে একটি ব্যাশ ফাইল তৈরি করুন check_var3.sh এবং নিম্নলিখিত স্ক্রিপ্ট যোগ করুন। স্ক্রিপ্ট প্রথম কমান্ড-লাইন আর্গুমেন্ট একটি ভেরিয়েবলে সংরক্ষণ করবে, $ argv যা পরবর্তী বিবৃতিতে পরীক্ষা করা হয়। আউটপুট হবে প্রথম যুক্তি খালি যদি কোন যুক্তি পাস না হয় তবে অন্যথায় প্রথম যুক্তির মান মুদ্রিত হবে।

check_var3.sh

#!/বিন/শ
#প্রথম কমান্ড-লাইন আর্গুমেন্ট মান পড়ুন
argv='$ 1'
#প্রথম আর্গুমেন্ট মান প্রদান করা হয়েছে কিনা তা পরীক্ষা করুন
[ -ভি '$ argv' ] && বের করে দিল 'প্রথম যুক্তি খালি' ||
বের করে দিল 'প্রথম যুক্তির মান হল$ argv'

কোন যুক্তি ছাড়াই স্ক্রিপ্ট চালান।

$বাশcheckvar3.sh

একটি যুক্তি দিয়ে স্ক্রিপ্ট চালান।

$বাশcheckvar3.shপরীক্ষা

উপসংহার

ভেরিয়েবল সেট বা সেট না করা বা খালি করার বিভিন্ন উপায় এই টিউটোরিয়ালে বিভিন্ন উদাহরণ ব্যবহার করে দেখানো হয়েছে। আশা করি, এই টিউটোরিয়াল ব্যবহারকারীদের যেকোনো ব্যাশ ভেরিয়েবল পরীক্ষা করার উপায় জানতে সাহায্য করবে।