অ্যান্ড্রয়েড

লুপ করার সময় বাশ

TreatsUp Hack করে প্রতিদিন মোবাইলে রিচার্জ করে নিন 100% কাজ হবে দেখুন

TreatsUp Hack করে প্রতিদিন মোবাইলে রিচার্জ করে নিন 100% কাজ হবে দেখুন

সুচিপত্র:

Anonim

লুপগুলি প্রোগ্রামিং ভাষার অন্যতম মৌলিক ধারণা। লুপগুলি কার্যকর হয় যখন আপনি কোনও নির্দিষ্ট শর্ত পূরণ না হওয়া অবধি কয়েকবার কমান্ডের একটি সিরিজ চালাতে চান।

স্ক্রিপ্টিং ভাষায় যেমন বাশের ক্ষেত্রে, পুনরাবৃত্ত কার্যগুলি স্বয়ংক্রিয় করার জন্য লুপগুলি কার্যকর। লুপের জন্য, লুপের জন্য এবং লুপ পর্যন্ত 3 টি বেস লুপ কনস্ট্রাক্টস রয়েছে বাশ স্ক্রিপ্টিংয়ে।

এই টিউটোরিয়ালটি ব্যাশের লুপের পাশাপাশি মূল বিরতি এবং লুপের প্রবাহকে পরিবর্তন করতে স্টেটমেন্ট অব্যাহত রাখার মূল বিষয়গুলি ব্যাখ্যা করে explains

লুপের সময় বাশ

প্রদত্ত শর্তটি সত্য হিসাবে যতক্ষণ মূল্যায়ন করে ততক্ষণ লুপটি প্রদত্ত কমান্ডের একটি সেট অজানা সংখ্যক বার সম্পাদন করতে ব্যবহৃত হয়।

ল্যাশ যখন লুপ নিম্নলিখিত ফর্ম গ্রহণ করে:

while do done

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

নীচের উদাহরণে, প্রতিটি পুনরাবৃত্তির উপর লুপটি ভেরিয়েবলের বর্তমান মান মুদ্রণ করে এবং একের সাহায্যে চলকটিকে বাড়িয়ে তোলে।

i=0 while do echo Number: $i ((i++)) done

i দুটির চেয়ে কম বা সমান হলে মঙ্গল লুপ পুনরাবৃত্তি হবে। এটি নিম্নলিখিত আউটপুট উত্পাদন করবে:

Number: 0 Number: 1 Number: 2

অসীম যখন লুপ

অসীম লুপ একটি লুপ যা অনির্দিষ্টকালের জন্য পুনরাবৃত্তি করে এবং কখনই শেষ হয় না। যদি শর্তটি সর্বদা সত্যের কাছে মূল্যায়ন করে তবে আপনি একটি অসীম লুপ পান।

নিম্নলিখিত উদাহরণে আমরা অন্তর্নির্মিত কমান্ডটি ব্যবহার করছি : যা অসীম লুপ তৈরি করতে সর্বদা সত্য ফিরে আসে। আপনি true বিল্ট-ইন কমান্ড বা অন্য কোনও বিবৃতিও ব্যবহার করতে পারেন যা সর্বদা সত্য ফিরে আসে।

while: do echo "Press to exit." sleep 1 done while: do echo "Press to exit." sleep 1 done

উপরের লুপটি অনির্দিষ্টকালের জন্য চলবে। আপনি CTRL+C টিপে লুপটি শেষ করতে পারেন।

এখানে একটি একক-লাইন সমতুল্য:

while:; do echo 'Press to exit.'; sleep 1; done while:; do echo 'Press to exit.'; sleep 1; done

লাইন দ্বারা একটি ফাইল লাইন পড়ুন

লুপের সর্বাধিক সাধারণ ব্যবহারগুলির মধ্যে একটি হ'ল ফাইল, ডেটা স্ট্রিম বা ভেরিয়েবল লাইন লাইনে পড়া।

নিম্নলিখিত উদাহরণে যখন লুপটি /etc/passwd ফাইল লাইনটি লাইনে পড়বে এবং প্রতিটি লাইন প্রিন্ট করবে।

file=/etc/passwd while read -r line; do echo $line done < "$file"

কন্ডিশনের সাথে উইল লুপটি নিয়ন্ত্রণ করার পরিবর্তে আমরা ইনপুট রিডাইরেকশন ( < "$file" ) ব্যবহার করে একটি ফাইলকে read করতে পাঠাতে যা লুপটি নিয়ন্ত্রণ করে এমন কমান্ড। শেষ লাইনটি পড়া না হওয়া পর্যন্ত লুপটি চলবে।

লাইন দ্বারা ফাইল লাইন পড়ার সময় সর্বদা পলায়ন চরিত্র হিসাবে কাজ করতে ব্যাকস্ল্যাশ প্রতিরোধ করতে -r বিকল্পের সাহায্যে read ব্যবহার করুন।

ডিফল্টরূপে read কমান্ডটি নেতৃস্থানীয় / অনুসরণযোগ্য শ্বেতস্পেস অক্ষর (স্পেস এবং ট্যাবগুলি) ছাঁটাই করে। এই আচরণটি রোধ করতে read কমান্ডের আগে IFS= বিকল্পটি ব্যবহার করুন

file=/etc/passwd while IFS= read -r line; do echo $line done < "$file"

বিবৃতি ভঙ্গ করুন এবং চালিয়ে যান

বিরতি এবং চালিয়ে যাওয়া স্টেটমেন্টগুলি লুপ এক্সিকিউশনটি নিয়ন্ত্রণ করতে ব্যবহৃত হতে পারে।

ব্রেক স্টেটমেন্ট

ব্রেক স্টেটমেন্টটি বর্তমান লুপটি সমাপ্ত করে এবং প্রোগ্রাম কন্ট্রোলটি কমান্ডের কাছে সরিয়ে দেয় যা সমাপ্ত লুপটি অনুসরণ করে। এটি যখন নির্দিষ্ট শর্ত পূরণ হয় তখন লুপটি সমাপ্ত করতে সাধারণত ব্যবহৃত হয়।

নিম্নলিখিত উদাহরণে, বর্তমান পুনরাবৃত্তি আইটেমটি 2 সমান হলে লুপটির সম্পাদন বাধাগ্রস্ত হবে।

i=0 while do echo "Number: $i" ((i++)) if]; then break fi done echo 'All Done!'

Number: 0 Number: 1 All Done!

বিবৃতি অবিরত করুন

চালিয়ে যাওয়া বিবৃতিটি একটি লুপের বর্তমান পুনরাবৃত্তিটি প্রস্থান করে এবং প্রোগ্রাম নিয়ন্ত্রণটি লুপের পরবর্তী পুনরাবৃত্তিতে পাস করে।

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

i=0 while do ((i++)) if]; then continue fi echo "Number: $i" done echo 'All Done!'

Number: 1 Number: 3 Number: 4 Number: 5 All Done!

উপসংহার

লুপ চলাকালীন কীভাবে ব্যাশ ব্যবহার করবেন সে সম্পর্কে এখনই আপনার একটি ভাল বোঝা উচিত।

বাশ লুপ টার্মিনাল