লুপ জন্য "জন্য" একটি ব্যাশ লিখুন কিভাবে

শেল স্ক্রিপ্টগুলিতে BASH "for" লুপ কিভাবে ব্যবহার করবেন

ব্যাশ (যা বোর্ন এন্ড শেলের জন্য ব্যবহৃত) একটি স্ক্রিপ্টিং ভাষা যা অধিকাংশ লিনাক্স এবং ইউনিক্স-ভিত্তিক অপারেটিং সিস্টেম দ্বারা ব্যবহৃত হয়।

আপনি অন্য একটি পরে একটি টার্মিনাল উইন্ডোর মধ্যে BASH কমান্ড চালনা করতে পারেন অথবা আপনি একটি শেল স্ক্রিপ্ট তৈরি করতে একটি টেক্সট ফাইলে কমান্ড যোগ করতে পারেন।

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

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

কোনও প্রোগ্রামিং এবং স্ক্রিপ্টিংয়ের একটি মূল অংশ হল কোডের একই অংশটি আবার এবং আবার চালানোর ক্ষমতা।

কোড পুনরাবৃত্তি করার অনেক উপায় আছে (loops নামেও পরিচিত)। এই নির্দেশিকাতে, আপনি "জন্য" লুপটি কিভাবে লিখবেন তা দেখানো হবে।

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

এই নির্দেশিকাতে, আপনি একটি ব্যাশ স্ক্রিপ্ট মধ্যে লুপ জন্য ব্যবহার করার পাঁচটি উপায় দেখানো হবে।

শুরু করার আগে

লুপের উদাহরণ দিয়ে শুরু করার আগে, আপনাকে একটি টার্মিনাল উইন্ডো খুলতে হবে এবং এই পদক্ষেপগুলি অনুসরণ করতে হবে:

  1. এমকিডির স্ক্রিপ্টগুলি লিখুন ( এখানে mkdir সম্পর্কে আরও জানুন )
  2. সিডি স্ক্রিপ্টগুলি প্রবেশ করান (এটি স্ক্রিপ্টে ডিরেক্টরি পরিবর্তন করে )
  3. Nano examplen.sh এ প্রবেশ করুন (যেখানে n হল আপনার কাজ করা উদাহরণ)
  4. স্ক্রিপ্ট লিখুন
  5. CTRL + O টিপুন এবং CTRL + X টি প্রস্থান করুন
  6. চালান bash examplen.sh (আবার, এন সঙ্গে আপনি যেমন কাজ করছেন উদাহরণস্বরূপ)

একটি তালিকা মাধ্যমে লুপ কিভাবে

#! / বিন / ব্যাশ
নম্বরের জন্য 1 2 3 4 5
করা
echo $ number
সম্পন্ন
প্রস্থান 0

"জন্য" loops ব্যবহার ব্যাশ উপায় বেশিরভাগ অন্যান্য প্রোগ্রামিং এবং স্ক্রিপ্টিং ভাষা "জন্য" loops জন্য হ্যান্ডেল উপায়। আসুন স্ক্রিপ্টটি ভাঙ্গা যাক ...

একটি বাশ "লুপ" জন্য সব, কাজ এবং কাজ মধ্যে বিবৃতি তালিকা প্রতিটি আইটেমের জন্য একবার সঞ্চালিত হয়।

উপরোক্ত উদাহরণে, তালিকাটি এমন শব্দ যা পরে শব্দটি আসে (অর্থাৎ 1 2 3 4 5)।

প্রতিবার লুপ পুনরাবৃত্তির সময়, তালিকার পরবর্তী মানটি "জন্য" শব্দটি পরে উল্লিখিত পরিবর্তনটিতে সন্নিবেশিত করা হয়। উপরের লুপে, ভেরিয়েবলকে বলা হয় সংখ্যা

পর্দার তথ্য প্রদর্শন করার জন্য ইকো বিবৃতিটি ব্যবহার করা হয়।

অতএব, এই উদাহরণ সংখ্যা 1 থেকে 5 লাগে এবং তাদের এক পর্দায় এক আউটপুট আউটপুট:

একটি স্টার্ট এবং শেষ পয়েন্ট মধ্যে লুপ কিভাবে

উপরের উদাহরণের সাথে ঝামেলা হল যে আপনি যদি একটি বড় তালিকা (1 থেকে 500 টি) সংশোধন করতে চান তবে এটি প্রথম স্থানে সব সংখ্যা টাইপ করতে বয়সের সময় লাগবে।

এটি আমাদের দ্বিতীয় উদাহরণে নিয়ে আসে যা দেখায় কিভাবে শুরু এবং শেষ বিন্দুটি নির্দিষ্ট করা যায়:

#! / বিন / ব্যাশ
জন্য সংখ্যা 1. জন্য
করা
echo "$ number"
সম্পন্ন
প্রস্থান 0

নিয়ম মূলত একই। " ইন" শব্দটির পরে মানগুলি পুনরাবৃত্তির জন্য তালিকা তৈরি করে এবং তালিকাটির প্রত্যেকটি মান পরিবর্তনশীল (অর্থাৎ সংখ্যা) এ স্থাপন করা হয় এবং প্রতিটি সময় লুপ পুনরাবৃত্ত হয়, কাজ করে এবং সম্পন্ন মধ্যে বিবৃতিগুলি সঞ্চালিত হয়।

প্রধান পার্থক্য তালিকাটি গঠিত হয় উপায়। কোঁকড়া বন্ধনী {} মূলত একটি পরিসীমা নির্দেশ করে, এবং পরিসীমা, এই ক্ষেত্রে, 1 থেকে 10 (দুই বিন্দু সীমার শুরু এবং শেষ আলাদা)।

এই উদাহরণটি, তাই 1 এবং 10 এর মধ্যে প্রতিটি নম্বরের মাধ্যমে সঞ্চালিত হয় এবং স্ক্রিনের সংখ্যাটি নিম্নরূপঃ

একই লুপ যেমনটি প্রথম উদাহরণের মতো অভিন্ন সিন্ট্যাক্সের মতো লেখা হতে পারে:

নম্বরের জন্য 1 2 3 4 5 6 7 8 9 10

কিভাবে একটি পরিসীমা মধ্যে নম্বর ছেড়ে?

পূর্ববর্তী উদাহরণ দেখানো শুরু এবং শেষ বিন্দুর মধ্যে লুপ কিভাবে, তাই এখন আমরা পরিসর সংখ্যা নকল কিভাবে তাকান করব।

কল্পনা করুন যে আপনি 0 এবং 100 এর মধ্যে লুপ চান তবে শুধুমাত্র প্রতি দশম সংখ্যা দেখান। নিম্নোক্ত স্ক্রিপ্টটি কীভাবে দেখানো হয়:

#! / বিন / ব্যাশ
{0..100..10} নম্বরের জন্য
করা
echo "$ number"
সম্পন্ন
প্রস্থান 0

নিয়ম মূলত একই। একটি তালিকা, একটি পরিবর্তনশীল, এবং কাজ এবং সম্পন্ন মধ্যে সঞ্চালিত বিবৃতি একটি সেট আছে। তালিকা এই সময় এই মত দেখায়: {0..100..10}।

প্রথম সংখ্যাটি 0 এবং শেষ সংখ্যা হল 100. তৃতীয় সংখ্যা (10) হল তালিকার আইটেমগুলির সংখ্যা যা এটি এড়িয়ে যাবে।

উপরের উদাহরণ, অতএব, নিম্নলিখিত আউটপুট প্রদর্শন করা হয়:

লুপ জন্য একটি আরো ঐতিহ্যবাহী খুঁজছেন

অন্যান্য প্রোগ্রামিং ল্যাংগুয়েজগুলির তুলনায় লুপের জন্য লেখা বাশের পথ সামান্য অদ্ভুত।

তবে, সি প্রোগ্রামিং ভাষাতে অনুরূপ শৈলীতে লুপের জন্য লিখতে পারেন, যেমন:

#! / বিন / ব্যাশ
জন্য ((সংখ্যা = 1; সংখ্যা <100; সংখ্যা ++))
{
যদি (($ সংখ্যা% 5 == 0))
তারপর
echo "$ সংখ্যা 5 দ্বারা বিভাজ্য"
ফাই
}
প্রস্থান 0

ভেরিয়েবল নম্বরটি 1 (সংখ্যা = 1 ) দ্বারা সেট করে লুপ শুরু হয়। একটি সংখ্যা 100 এর চেয়ে কম ( সংখ্যা <100 ) কম হলে লুপটি চলবে। প্রতিটি পুনরাবৃত্তির পরে ( সংখ্যা ++ ) সংখ্যা যোগ করার সাথে নম্বরটি পরিবর্তন করে 1 নম্বর যোগ করে।

লুপ প্রতিটি পুনরাবৃত্তির মাধ্যমে কোঁকড়া ধনুর্বন্ধনী মধ্যে সবকিছু সঞ্চালিত হয়।

ধনুর্বন্ধনী এর বিটটি একটি সংখ্যাটির মান পরীক্ষা করে 5 দ্বারা ভাগ করে, এবং বাকি 0 এর সাথে তুলনা করে। বাকিটি 0 হলে সংখ্যা 5 দ্বারা বিভেদযোগ্য এবং তারপর পর্দায় প্রদর্শিত হয়।

উদাহরণ স্বরূপ:

যদি আপনি পুনরাবৃত্তির ধাপের আকার পরিবর্তন করতে চান তবে আপনি নম্বর = সংখ্যা + 2 , সংখ্যা = সংখ্যা + 5 , বা সংখ্যা = সংখ্যা + 10 ইত্যাদি নম্বর + + বিভাগ সংশোধন করতে পারেন।

এটি আরও + + = 2 বা নম্বর + = 5 সংখ্যায় কমে যেতে পারে

একটি প্রাকটিক্যাল উদাহরণ

লুপের জন্য সংখ্যাগুলির পুনরাবৃত্তির চেয়ে আরও বেশি কিছু করতে পারে আপনি আসলে তালিকা হিসাবে অন্যান্য কমান্ডের আউটপুট ব্যবহার করতে পারেন।

নিম্নোক্ত উদাহরণটি দেখায় যে কিভাবে অডিও ফাইলগুলিকে MP3 থেকে WAV এ রূপান্তর করা যায়:

#! / বিন / ব্যাশ

এই উদাহরণে তালিকাটি হল বর্তমান ফাইলের .MP3 এক্সটেনশনের প্রতিটি ফাইল এবং পরিবর্তনশীল একটি ফাইল

এমপিজি কমান্ড এমপি 3 ফাইলটি WAV এ রূপান্তর করে। তবে, প্রথমে আপনার প্যাকেজ ম্যানেজার ব্যবহার করে এটি ইনস্টল করতে হবে।