10টি দুর্দান্ত এবং দুর্দান্ত ব্যাশ লুপের উদাহরণ

10ti Durdanta Ebam Durdanta Byasa Lupera Udaharana



প্রোগ্রামিং ল্যাঙ্গুয়েজে প্রধানত তিন ধরনের লুপ থাকে (for, while, and till)। তিনটি ধরণের লুপই বিভিন্ন উপায়ে গুরুত্বপূর্ণ। সময় এবং পর্যন্ত লুপগুলির মধ্যে খুব বেশি পার্থক্য নেই, তবে লুপ এই দুটি থেকে বেশ আলাদাভাবে কাজ করে। এজন্য আপনি ব্যাশ ব্যবহারকারী হিসাবে ইন্টারেক্টিভ স্ক্রিপ্ট তৈরি করতে এই লুপগুলি ব্যবহার করতে পারেন।

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







10টি দুর্দান্ত এবং দুর্দান্ত ব্যাশ লুপের উদাহরণ

এই বিভাগে, আমরা লুপগুলিতে ব্যবহৃত বিভিন্ন উদাহরণ এবং পদ্ধতিগুলি ব্যাখ্যা করব।



ব্যাশে লুপ সহ Seq কমান্ড

আপনি সংখ্যার ক্রম তৈরি করতে for লুপে seq কমান্ডটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনার কাছে একটি ব্যাশ স্ক্রিপ্ট 'File.sh' রয়েছে যাতে নিম্নলিখিত কোড রয়েছে:



#!/bin/bash
জন্য ভিতরে $ ( seq 5 দুই 25 )
করতে
প্রতিধ্বনি 'এর সংখ্যা $A হয়'
সম্পন্ন





টার্মিনালে স্ক্রিপ্ট চালানোর পরে আপনি নিম্নলিখিত ফলাফল পাবেন:

. / file.sh




লুপ ব্যবহার করে ফাইলগুলির নাম পরিবর্তন করুন

একটি ব্যাশ স্ক্রিপ্ট ব্যবহার করে, আপনি একাধিক ফাইলের নাম পরিবর্তন করতে for loops ব্যবহার করতে পারেন। উদাহরণস্বরূপ, আপনার একাধিক .txt ফাইল আছে এবং নামের সাথে বর্তমান তারিখ যোগ করতে চান। সুতরাং এখানে উদাহরণ স্ক্রিপ্ট আপনি ব্যবহার করতে পারেন:

#!/bin/bash
জন্য ভিতরে $ ( ls * .txt ) ; করতে
mv $A ( ভিত্তি নাম $A .txt ) _$ ( তারিখ % d % মি % ) .txt
সম্পন্ন


এখন, আপনি স্ক্রিপ্টটি চালাতে পারেন, এবং এটি বর্তমান তারিখ যোগ করে সমস্ত .txt ফাইলের নাম পরিবর্তন করবে:

. / MyFile.sh



একইভাবে, আপনি একটি একক স্ক্রিপ্টের মাধ্যমে একটি ফাইলের এক্সটেনশন পরিবর্তন করতে পারেন। তাহলে চলুন নিচের স্ক্রিপ্টের মাধ্যমে .txt এক্সটেনশনটিকে .sh এ পরিবর্তন করি:

#!/bin/bash
জন্য ফাইল ভিতরে * .txt; করতে
mv -- ' $ ফাইল ' '{file%.txt}.sh'
সম্পন্ন

টার্মিনালে স্ক্রিপ্ট চালানোর পরে, আপনি .txt ফাইলের পরিবর্তে .sh পাবেন:

. / MyFile.sh


বাশে লুপের জন্য অসীম

যখন লুপে কোন টার্মিনেশন কন্ডিশন সংজ্ঞায়িত করা হয় না, তখন তাকে বলা হয় অসীম লুপ। ব্যাশ লুপের এই উদাহরণে, আমরা বাশের লুপের জন্য অসীম দেখব। লুপের জন্য নিম্নোক্ত অসীম একটি ডবল সেমিকোলন ( ; ) দ্বারা সংজ্ঞায়িত করা হয়েছে এবং এতে কোনো প্রারম্ভিক, কর্ম বা সমাপ্তির অংশ নেই।

নিচের স্ক্রিপ্টটি চলতে থাকবে যতক্ষণ না আপনি Ctrl+C চাপবেন বা ইনপুট হিসাবে 'quit' টাইপ করবেন। এই স্ক্রিপ্টটি ইনপুট হিসাবে দেওয়া 10 থেকে 50 পর্যন্ত প্রতিটি সংখ্যা মুদ্রণ করবে। অন্যথায়, এটি 'সংখ্যা পরিসীমার বাইরে' প্রিন্ট করবে।

#!/bin/bash
#অগণিত চক্র
জন্য ( ( ; ; ) )
করতে
প্রতিধ্বনি '10 থেকে 50 এর মধ্যে একটি সংখ্যা লিখুন'
পড়া n
যদি [ $n == 'প্রস্থান' ]
তারপর
প্রতিধ্বনি 'সমাপ্ত'
প্রস্থান 0
থাকা
যদি ( ( $n < 10 || $n > পঞ্চাশ ) )
তারপর
প্রতিধ্বনি 'সংখ্যাটি পরিসীমার বাইরে'
অন্য
প্রতিধ্বনি 'সংখ্যা হল $n '
থাকা
সম্পন্ন

আমরা উপরের স্ক্রিপ্টে 45 এবং 23টি বৈধ ইনপুট দিয়েছি। এর পরে, আমরা ইনপুট হিসাবে 2 মুদ্রণ করি যা আউটপুটে বলে যে 'সংখ্যাটি পরিসীমার বাইরে।' এর পরে, স্ক্রিপ্ট বন্ধ করতে, আমরা ইনপুট হিসাবে quit টাইপ করি। এখানে আপনি অসীম লুপ প্রস্থান করতে Ctrl+C চাপতে পারেন।

ব্যাশে তিনটি এক্সপ্রেশন লুপ

এটি থ্রি-এক্সপ্রেশন লুপের নাম থেকে জানা যায় যে এটি তিনটি এক্সপ্রেশন নিয়ে গঠিত, একে কন্ট্রোল এক্সপ্রেশনও বলা হয়। প্রথম এক্সপ্রেশন (EXP1) হল ইনিশিয়ালাইজার, দ্বিতীয় এক্সপ্রেশন (EXP2) হল লুপ টেস্ট বা শর্ত, এবং তৃতীয় এক্সপ্রেশন (EXP3) হল গণনা এক্সপ্রেশন/স্টেপ। ব্যাশে একটি তিন-এক্সপ্রেশন লুপ চালানো যাক:

#!/bin/bash
জন্য ( ( n = 5 ; n > = 1 ; n-- ) )
করতে
প্রতিধ্বনি 'বই $n '
সম্পন্ন

উপরের স্ক্রিপ্টটি চালানোর সময়, আপনি নিম্নলিখিত আউটপুট পাবেন।

একাধিক শর্ত সহ লুপ

আমরা নিচের ব্যাশ লুপ উদাহরণে একাধিক শর্ত সহ till লুপ ব্যবহার করেছি। এই স্ক্রিপ্টে, আমরা 'm' এবং 'n' দুটি ভেরিয়েবল নিয়েছি যার মান যথাক্রমে 20 এবং 10, এবং 15 এর সীমা রেখেছি। এখানে আমরা লুপে 'm' এবং 'n' শর্তগুলি একসাথে রেখেছি, যেখানে লুপ চলবে যতক্ষণ না “m” এর মান সীমার চেয়ে কম এবং “n” সীমার চেয়ে বেশি না হয়।

#!/bin/bash
সীমা = পনের
মি = বিশ
n = 10
পর্যন্ত [ [ $m -lt $সীমা || $n -জিটি $সীমা ] ] ;
করতে
প্রতিধ্বনি 'যদি M = $m তারপর N = $n '
( ( আমি-- ) )
( ( n++ ) )
সম্পন্ন

আপনি দেখতে পাচ্ছেন যে উপরের স্ক্রিপ্টটি চালানো চলবে যতক্ষণ না “m” এবং “n” এর মান একই স্তরে আসে।

ব্যাশে ফাইল পড়ুন

ব্যাশে, আপনি একটি ফাইলের বিষয়বস্তু বিভিন্ন উপায়ে পড়তে পারেন। ব্যাশ লুপের এই উদাহরণে, আমরা ফাইলের নাম দিয়ে ফাইলের বিষয়বস্তু পড়ব। ব্যাশে ফাইলটি পড়ার জন্য আমরা নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করতে পারি:

#!/bin/bash
প্রতিধ্বনি 'প্রবেশ করা ফাইলের বিষয়বস্তু হল:'
যখন
পড়া লাইন
করতে
প্রতিধ্বনি $লাইন
সম্পন্ন < ~ নথিপত্র / Linuxhint.txt

উপরের স্ক্রিপ্টটি চালানোর পরে, আপনি প্রবেশ করা ফাইলটির সম্পূর্ণ বিষয়বস্তু পড়তে পারেন।

একটি ফাইলে লেখা

টার্মিনাল থেকে সরাসরি একটি ফাইল সম্পাদনা করতে আপনি স্ক্রিপ্টের লুপগুলি ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আমাদের কাছে একটি txt ফাইল 'Example.txt' থাকে এবং আমরা কিছু তথ্য যোগ করতে চাই, তাহলে আমরা নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করতে পারি:


আপনি যদি উপরের স্ক্রিপ্টটি চালান তবে এটি আপনাকে বিশদ লিখতে বলবে:


একবার আপনি বিস্তারিত লিখলে, ফাইলটি সংরক্ষণ করতে CTRL + D এবং প্রক্রিয়াটি সফলভাবে শেষ করতে CTRL + Z লিখুন।

ব্যাশে স্টেটমেন্ট লুপ ব্রেক এবং কন্টিনিউ করুন

ব্যাশে, আপনি বিরতির পরে আপনার লুপ স্টেটমেন্ট চালিয়ে যেতে পারেন। বিরতি বিবৃতি লুপ থেকে প্রস্থান করে এবং তারপর পরবর্তী প্রদত্ত বিবৃতিতে নিয়ন্ত্রণ পাস করে। একই অবিরত বিবৃতি দিয়ে বর্তমান পুনরাবৃত্তি বাদ দেওয়ার পরে পুনরাবৃত্তি নম্বর দুই শুরু হয়।

#!/bin/bash
একের উপর = 16
পর্যন্ত মিথ্যা
করতে
( ( একের উপর-- ) )
যদি [ [ $সংখ্যা -eq 13 ] ]
তারপর
চালিয়ে যান
এলিফ [ [ $সংখ্যা - দ্য 4 ] ]
তারপর
বিরতি
থাকা
প্রতিধ্বনি 'লিনাক্স হিন্ট = $সংখ্যা '
সম্পন্ন

নিম্নলিখিত ব্যাশ স্ক্রিপ্টে, আপনি দেখতে পাচ্ছেন যে যখন 'সংখ্যা' 13 এর সমান হয়, তখন এটি লুপের বাকি অংশটি এড়িয়ে যায় এবং পরবর্তী পুনরাবৃত্তিতে চলে যায়। একইভাবে, যখন 'num' 4 এর থেকে কম বা সমান হয় তখন লুপটি ভেঙে যাবে।


উপরের স্ক্রিপ্টটি দেখায় যে লুপটি 15 এ শুরু হয়, 13 এ বিরতি দেয় এবং 5 পর্যন্ত চলতে থাকে।

ব্যাশে একটি গড় গণনা করা হচ্ছে

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

#!/bin/bash
চিহ্ন = '0'
গড় = '0'
SUM = '500'
একের উপর = '5'
যখন সত্য ; করতে
প্রতিধ্বনি -n 'আপনার চিহ্নগুলি লিখুন বা বাতিল করতে 'q' টিপুন' ; পড়া চিহ্ন;
যদি ( ( ' $মার্ক ' < '0' ) ) || ( ( ' $মার্ক ' > '100' ) ) ; তারপর
প্রতিধ্বনি 'আপনার চিহ্ন লিখুন'
এলিফ [ ' $মার্ক ' == 'q' ] ; তারপর
প্রতিধ্বনি 'গড় চিহ্ন হল: $AVERAGE %'
বিরতি
অন্য
SUM =$ [ $SUM + $মার্ক ]
একের উপর =$ [ $NUM + 1 ]
গড় =$ [ $SUM / $NUM ]
থাকা
সম্পন্ন

যদি ইনপুট সীমার মধ্যে না হয়, তাহলে একটি বার্তা প্রিন্ট করা হয় যে 'দয়া করে আপনার চিহ্নগুলি লিখুন।' সমস্ত চিহ্ন প্রবেশ করার পর ব্যবহারকারী যখন 'q' চাপেন, তখন স্ক্রিপ্টটি প্রবেশ করা সমস্ত সংখ্যার আনুমানিক গড় গণনা করে।

উপরের স্ক্রিপ্টটি রান করা হলে আপনার আউটপুট এরকম কিছু হবে।

ব্যাশে কমান্ড-লাইন আর্গুমেন্ট পড়ুন

ব্যাশে, আপনি লুপ ব্যবহার করে একক কমান্ড-লাইন আর্গুমেন্ট পড়তে পারেন। স্ক্রিপ্ট ফরম্যাট করা আর্গুমেন্ট মান প্রিন্ট করে। আমরা নিম্নলিখিত স্ক্রিপ্টে একটি while লুপ ব্যবহার করে bash-এ কমান্ড লাইন আর্গুমেন্ট চালাই। এর মাধ্যমে, আপনি একটি একক কমান্ডের সাহায্যে আর্গুমেন্ট ভ্যালু ভ্যালিড অপশনে পাসিং ভ্যালু প্রিন্ট করবেন।

#!/bin/bash
যখন getopts N:F:M: OPT
করতে
মামলা ' ${OPT} '
ভিতরে
এন ) নাম = ${OPTARG} ;;
) বাবার নাম = ${OPTARG} ;;
এম ) মায়ের নাম = ${OPTARG} ;;
* ) প্রতিধ্বনি 'অবৈধ'
প্রস্থান 1 ;;
esac
সম্পন্ন
printf 'নাম: $নাম \n বাবার নাম: $পিতার নাম \n মায়ের নাম: $মাতার নাম \n '

এইভাবে, আপনি উপরের স্ক্রিপ্টটি ব্যাশে চালিয়ে আউটপুটে ফর্ম্যাট করা আর্গুমেন্ট মানগুলি মুদ্রণ করতে পারেন।

মোড়ক উম্মচন

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