আমি কিভাবে ব্যাশে একটি পরিবর্তনশীল বৃদ্ধি করব?

How Do I Increment Variable Bash



কাউন্টার বা ইটারেটরের মান বৃদ্ধি বা হ্রাস করা যে কোনও প্রোগ্রামিং ভাষায় লুপ ব্যবহার করার সময় অন্যতম গুরুত্বপূর্ণ কাজ। এটি করার মাধ্যমে, এটি আমাদের আমাদের লুপের অবসান শর্তে পৌঁছাতে সাহায্য করে যা ছাড়া আমাদের লুপ অসীমভাবে চলবে। আজ, আমাদের ফোকাস লিনাক্স মিন্ট 20 এ ব্যাশে ভেরিয়েবল বাড়ানোর বিভিন্ন পদ্ধতিতে থাকবে।

লিনাক্স মিন্ট 20 এ ব্যাশে একটি ভেরিয়েবল বাড়ানোর উদাহরণ:

ব্যাশে একটি ভেরিয়েবল বাড়ানোর বিভিন্ন উপায় রয়েছে। আমরা নীচের উদাহরণগুলির মাধ্যমে কিছু সাধারণের মধ্যে বিস্তৃত করার চেষ্টা করব। যাইহোক, আমরা আপনাকে প্রি- এবং পোস্ট-ইনক্রিমেন্টের ধারণার সাথে পরিচয় করিয়ে দিতে চাই। পূর্ববর্তীটির ক্ষেত্রে, একটি ভেরিয়েবলের মান প্রথমে বৃদ্ধি করা হয় এবং তারপরে অন্য পরিবর্তনশীলকে বরাদ্দ করা হয়, যেখানে পরবর্তীতে, একটি ভেরিয়েবলের মান প্রথমে সংরক্ষণ করা হয় এবং পরে বৃদ্ধি করা হয়। প্রি-ইনক্রিমেন্ট এবং পোস্ট-ইনক্রিমেন্ট উভয়ের প্রভাব প্রথম দুটি উদাহরণ থেকে বেশ স্পষ্ট হবে। সুতরাং, আসুন বাশ স্ক্রিপ্টগুলির উদাহরণ পরীক্ষা করি।







উদাহরণ #1: একটি ভেরিয়েবল-পরবর্তী বৃদ্ধি:

পোস্ট-ইনক্রিমেন্টের প্রভাব দেখতে, আপনাকে অবশ্যই নীচের ছবিতে দেখানো স্ক্রিপ্টটি যেকোন ব্যাশ ফাইলে অনুলিপি করতে হবে। আপনি আপনার পছন্দের যে কোন নাম দিয়ে আপনার হোম ডিরেক্টরিতে একটি ব্যাশ ফাইল তৈরি করতে পারেন, তারপর একটি .sh এক্সটেনশন অনুসরণ করুন।





এই স্ক্রিপ্টে, আমরা একটি পরিবর্তনশীল x ঘোষণা করেছি এবং এটিকে 0 মান দিয়ে শুরু করেছি। তারপর আমাদের আরেকটি পরিবর্তনশীল আছে, a, যেখানে আমরা ভেরিয়েবল x এর পোস্ট বৃদ্ধি মান নির্ধারণ করেছি। অবশেষে, টার্মিনালে a চলকের মান মুদ্রিত হবে





আমাদের আউটপুটে এই অ্যাসাইনমেন্টের প্রভাব দেখতে, আমাদের নীচের কমান্ড দিয়ে এই স্ক্রিপ্টটি চালাতে হবে:

$বাশবৃদ্ধি পরিবর্তনশীল



যেহেতু আমরা ভেরিয়েবল x কে বাড়িয়ে পোস্ট করেছি এবং এটিকে a ভেরিয়েবলের জন্য বরাদ্দ করেছি, অতএব, ভেরিয়েবল a এর মান এখনও 0. হবে। এবং তারপর এটি বৃদ্ধি করা হয়েছিল। এই আউটপুটটি নিচের ছবিতে দেখানো হয়েছে:

উদাহরণ #2: একটি পরিবর্তনশীল প্রাক বৃদ্ধি

এখন, প্রি-ইনক্রিমেন্টের প্রভাব যাচাই করার জন্য, আমরা উপরের স্ক্রিনে সামান্য পরিবর্তন করে একই স্ক্রিপ্ট ব্যবহার করব, যা নীচের ছবিতে দেখানো হয়েছে:

এই স্ক্রিপ্টে, পোস্ট-ইনক্রিমেন্ট ব্যবহারের পরিবর্তে, আমরা কেবল প্রাক-ইনক্রিমেন্ট ব্যবহার করেছি। স্ক্রিপ্টের বাকিগুলি উদাহরণ #1 এর মতো একই রকম।

এখন, যখন আমরা এই স্ক্রিপ্টটি এক্সিকিউট করি, আমরা লক্ষ্য করব যে, ভেরিয়েবল a এর মান 0 এর পরিবর্তে 1 হবে কারণ, এই সময়, ভেরিয়েবল x এর মান প্রথমে বৃদ্ধি করা হয়েছিল, এবং এটি a ভেরিয়েবলকে বরাদ্দ করা হয়েছিল। এই আউটপুটটি নিচের ছবিতে দেখানো হয়েছে:

উদাহরণ #3: একটি ফর লুপের মধ্যে একটি ভেরিয়েবল পোস্ট-বাড়ানো:

যখন আপনি প্রি-ইনক্রিমেন্ট এবং পোস্ট-ইনক্রিমেন্টের ধারণাটি স্পষ্টভাবে বুঝতে পেরেছেন, আমরা এই ধারণাটি একটি লুপের মধ্যে ব্যবহার করতে পারি। উদাহরণ স্ক্রিপ্ট নীচের ছবিতে দেখানো হয়েছে:

এই স্ক্রিপ্টে, কাউন্টার ভেরিয়েবল বা ইটারারেটর i এর সাথে লুপের জন্য একটি সহজ আছে যার মান বৃদ্ধি করা হচ্ছে। তারপরে আমরা কেবল প্রতিটি পুনরাবৃত্তির জন্য i এর মান মুদ্রণ করেছি।

এই স্ক্রিপ্টের আউটপুট নিম্নলিখিত ছবিতে দেখানো হয়েছে:

উদাহরণ #4: একটি ফর লুপের মধ্যে একটি ভেরিয়েবল প্রাক-বৃদ্ধি:

ফর লুপের মধ্যে একটি ভেরিয়েবল প্রাক-ইনক্রিমেন্ট করার জন্য, উদাহরণ স্ক্রিপ্টটি নীচের ছবিতে দেখানো হয়েছে:

এই স্ক্রিপ্টটি যেমন আমরা উদাহরণ #3 তে করেছি। প্রি-ইনক্রিমেন্টের সাথে পোস্ট-ইনক্রিমেন্টের প্রতিস্থাপন দুটি স্ক্রিপ্টের মধ্যে একমাত্র পার্থক্য।

এই স্ক্রিপ্টের আউটপুট সংযুক্ত ছবিতে প্রদর্শিত হয়। এই আউটপুটটি উদাহরণ #3 এ দেখানো একই, এবং আপনি হয়তো ভাবছেন কেন? এটা তাই কারণ এই সময়, আমরা ভেরিয়েবলের মান অন্য কোন ভেরিয়েবলের জন্য বরাদ্দ করছি না। এই কারণেই প্রি-ইনক্রিমেন্ট এবং পোস্ট-ইনক্রিমেন্টের প্রভাবগুলি এই উদাহরণগুলিতে আলাদা করা যায় না।

উদাহরণ 5

একটি ভেরিয়েবলের মান বাড়াতে এবং উদাহরণ স্ক্রিপ্ট দেখানোর জন্য += স্বরলিপি ব্যবহার করা যেতে পারে, এটি নীচের ছবিতে দেখানো হয়েছে:

এই স্ক্রিপ্টে, আমরা একটি ভেরিয়েবল i ঘোষণা করেছি এবং মান 0 নির্ধারিত করেছি। তারপর আমাদের একটি সময় লুপ আছে যা এই ভেরিয়েবলে 5 এর কম না হওয়া পর্যন্ত পুনরাবৃত্তি করতে থাকে। += স্বরলিপি ব্যবহার করে এর মান বৃদ্ধি করা।

এই স্ক্রিপ্টের আউটপুট নিম্নলিখিত ছবিতে দেখানো হয়েছে:

উদাহরণ #6: +1 স্বরলিপি দিয়ে লুপ করার সময় একটি পরিবর্তনশীল ব্যবহার বৃদ্ধি:

+1 স্বরলিপি হল 1 দ্বারা একটি ভেরিয়েবলের মান বৃদ্ধির আরেকটি উপায়।

এই স্ক্রিপ্টটি যেমন আমরা উদাহরণ #5 তে করেছি। +1 স্বরলিপি দিয়ে += স্বরলিপি প্রতিস্থাপন দুটি স্ক্রিপ্টের মধ্যে একমাত্র পার্থক্য।

এই স্ক্রিপ্টের আউটপুট নিম্নলিখিত ছবিতে দেখানো হয়েছে:

উপসংহার:

আজকের টিউটোরিয়ালে, আমরা ব্যাশে একটি ভেরিয়েবল বাড়ানোর ছয়টি ভিন্ন উপায় শিখেছি। আমরা প্রি-ইনক্রিমেন্ট এবং পোস্ট-ইনক্রিমেন্টের ধারণার উপরও আলোকপাত করেছি এবং উপযুক্ত উদাহরণ ব্যবহার করে এই ধারণাগুলি ব্যাখ্যা করেছি। আপনার প্রোগ্রাম থেকে আপনার প্রয়োজনীয় কার্যকারিতার উপর নির্ভর করে, আপনি আপনার কাউন্টার ভেরিয়েবল বা পুনরাবৃত্তির প্রাক-বৃদ্ধি বা পোস্ট-বৃদ্ধি করতে পারেন। লিনাক্স মিন্ট 20 এ ব্যাশে ভেরিয়েবল বাড়ানোর যে কোনও উপায় ব্যবহার করে, আপনি সহজেই আপনার পছন্দসই ভেরিয়েবলের মান 1 দ্বারা বাড়িয়ে তুলতে পারেন।