BASH (যা বোর্ন এগেন শেলের জন্য দাঁড়িয়ে) একটি লিখনকারী ভাষা যা বেশিরভাগ লিনাক্স এবং ইউনিক্স ভিত্তিক অপারেটিং সিস্টেম ব্যবহার করে।
আপনি অন্যের পরে একটি টার্মিনাল উইন্ডোতে বাশ কমান্ড চালাতে পারেন অথবা শেল স্ক্রিপ্ট তৈরি করতে আপনি একটি পাঠ্য ফাইলে কমান্ড যোগ করতে পারেন।
শেল স্ক্রিপ্টগুলি লেখার বিষয়ে দুর্দান্ত জিনিস হল যে আপনি সেগুলি আবার এবং পুনরায় চালাতে পারেন। উদাহরণস্বরূপ কল্পনা করুন আপনাকে সিস্টেমটিতে একটি ব্যবহারকারী যুক্ত করতে হবে, তাদের অনুমতি সেট করতে হবে এবং তাদের শুরু পরিবেশ পরিচালনা করতে হবে। আপনি কাগজটির একটি অংশে কমান্ডগুলি লিখতে পারেন এবং নতুন ব্যবহারকারী যুক্ত করার সময় এটি চালাতে পারেন অথবা আপনি একটি স্ক্রিপ্ট লিখতে পারেন এবং শুধুমাত্র সেই স্ক্রিপ্টে পরামিতিগুলি পাস করতে পারেন।
যেমন BASH স্ক্রিপ্টিং ভাষা অনুরূপ প্রোগ্রামিং অন্যান্য ভাষা হিসাবে গঠন। উদাহরণস্বরূপ, আপনি কীবোর্ড থেকে ইনপুট পাওয়ার জন্য আমদানি প্যারামিটারগুলি ব্যবহার করতে পারেন এবং ভেরিয়েবল হিসাবে সংরক্ষণ করতে পারেন। আপনি তারপর ইনপুট পরামিতি মান উপর ভিত্তি করে একটি নির্দিষ্ট কর্ম সঞ্চালনের জন্য স্ক্রিপ্ট পেতে পারেন।
কোনও প্রোগ্রামিং এবং স্ক্রিপ্টিং ভাষার একটি গুরুত্বপূর্ণ অংশ কোডের একই অংশটি আবার এবং পুনরায় চালানোর ক্ষমতা।
কোড পুনরাবৃত্তি করার কয়েকটি উপায় রয়েছে (loops হিসাবেও পরিচিত)। এই নির্দেশিকায়, আপনাকে "জন্য" লুপ কীভাবে লিখতে হবে তা দেখানো হবে।
একজন জন্য লুপ কোড ওভার একটি নির্দিষ্ট বিভাগ পুনরাবৃত্তি। তারা কার্যকর হয় যাতে একটি নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত কমান্ডগুলির একটি সিরিজ চলতে পারে, তারপরে তারা বন্ধ হয়ে যাবে।
এই নির্দেশিকায়, আপনি একটি BASH স্ক্রিপ্টের মধ্যে লুপের জন্য পাঁচটি উপায় দেখানো হবে।
শুরু করার আগে
লুপ উদাহরণের জন্য শুরু করার আগে, আপনাকে একটি টার্মিনাল উইন্ডো খুলতে হবে এবং এই পদক্ষেপগুলি অনুসরণ করতে হবে:
-
প্রবেশ করান mkdir স্ক্রিপ্ট (এখানে mkdir সম্পর্কে আরও জানুন)।
-
প্রবেশ করান সিডি স্ক্রিপ্ট (এই ডিরেক্টরি পরিবর্তন করে স্ক্রিপ্ট ).
-
প্রবেশ করান ন্যানো পরীক্ষা pl.sh (কোথায় এন আপনি কাজ করছি উদাহরণ হয়)।
-
স্ক্রিপ্ট লিখুন।
-
প্রেস Ctrl + O সংরক্ষণ এবং Ctrl + X প্রস্থান করা.
-
চালান bash examplen.sh (আবার, সঙ্গে এন উদাহরণ দিয়ে আপনি কাজ করছেন)।
কিভাবে একটি তালিকা মাধ্যমে লুপ
#! / bin / bashfor সংখ্যা 1 2 3 4 5doecho $ numberdoneexit 0
"জন্য" loops ব্যবহার করার BASH পদ্ধতিটি বেশিরভাগ অন্যান্য প্রোগ্রামিং এবং স্ক্রিপ্টিং ভাষাগুলি "জন্য" loops হ্যান্ডেল করে এমনভাবে কিছুটা ভিন্ন। এর স্ক্রিপ্ট নিচে ভাঙ্গা যাক। একটি BASH "জন্য" লুপ সব, মধ্যে বিবৃতি করা এবং সম্পন্ন তালিকায় প্রতিটি আইটেম জন্য একবার সঞ্চালিত হয়। উপরের উদাহরণে, তালিকাটি শব্দটির পরে আসে এমন সবকিছু মধ্যে (যেমন 1 2 3 4 5)। প্রতিটি সময় লুপ পুনরাবৃত্তি হয়, তালিকার পরবর্তী মানটি শব্দটির পরে উল্লিখিত পরিবর্তনশীলের মধ্যে সন্নিবেশ করা হয় "জন্য" । উপরের লুপে, পরিবর্তনশীল বলা হয় সংখ্যা . ইকো স্টেটমেন্টটি পর্দায় তথ্য প্রদর্শন করতে ব্যবহৃত হয়। অতএব, এই উদাহরণটি সংখ্যা 1 থেকে 5 গ্রহণ করে এবং স্ক্রিনে একের পর একটিকে আউটপুট করে: উপরের উদাহরণ সহ সমস্যাটি হল যে যদি আপনি একটি বড় তালিকা প্রক্রিয়া করতে চান (1 থেকে 500 বলুন), তখন প্রথম সংখ্যাগুলিতে সব নম্বর টাইপ করতে বয়সের সময় লাগবে। এটি আমাদের দ্বিতীয় উদাহরণে নিয়ে আসে যা দেখায় কিভাবে শুরু এবং শেষ বিন্দুটি নির্দিষ্ট করতে হয়: #! / bin / bashfor number {1.1010} doecho "$ number" doneexit 0
নিয়ম মূলত একই। শব্দ পরে মান " মধ্যে " তালিকাটি পুনরাবৃত্তি করতে এবং তালিকার প্রতিটি মান পরিবর্তনশীল (যেমন নম্বর), এবং প্রতিটি সময় লুপ পুনরাবৃত্তি করা হয়, এর মধ্যে বিবৃতিগুলির মধ্যে স্থাপন করা হয় করা এবং সম্পন্ন সঞ্চালিত হয়. মূল পার্থক্য তালিকা গঠিত হয় উপায়। কোঁকড়া বন্ধনীগুলি {} মূলত একটি পরিসরকে নির্দেশ করে এবং এই ক্ষেত্রে, 1 থেকে 10 (দুটি বিন্দু একটি পরিসরের শুরু এবং শেষ পৃথক করে) পরিসীমা। এই উদাহরণটি, তাই, 1 এবং 10 এর মধ্যে প্রতিটি নম্বরের মধ্য দিয়ে চলে এবং পর্দার সংখ্যাটি নিম্নরূপ নিম্নরূপ করে: একই লুপটি প্রথম উদাহরণের মত সিনট্যাক্স সহ এইরকম লেখা থাকতে পারে: সংখ্যা 1 2 3 4 5 6 7 8 9 10 পূর্ববর্তী উদাহরণটি একটি শুরু এবং শেষ বিন্দুর মধ্যে কীভাবে লুপ করতে হবে তা দেখানো হয়েছে, তাই এখন আমরা পরিসরতে সংখ্যাগুলিকে কীভাবে এড়িয়ে যেতে তা দেখব। আপনি 0 এবং 100 মধ্যে লুপ করতে চান অনুমান কিন্তু শুধুমাত্র দশম সংখ্যা প্রদর্শন। নিম্নোক্ত স্ক্রিপ্টটি কীভাবে তা করতে হয় তা দেখায়: #! / bin / bashfor সংখ্যা {0..100..10} ডোইচো "$ সংখ্যা" doneexit 0
নিয়ম মূলত একই। একটি তালিকা, একটি পরিবর্তনশীল, এবং বিবৃতি একটি সেট মধ্যে সঞ্চালিত করা হয় করা এবং সম্পন্ন । এই সময়টি এই রকম দেখায়: {0..100..10}। প্রথম সংখ্যা 0 এবং শেষ সংখ্যা 100। তৃতীয় সংখ্যা (10) তালিকাতে আইটেমগুলির সংখ্যা যা এটি ছাড়বে। উপরের উদাহরণটি, নিম্নোক্ত আউটপুটটি প্রদর্শন করে: অন্যান্য প্রোগ্রামিং ভাষার তুলনায় loops জন্য লেখার BASH উপায় সামান্য অদ্ভুত। যাইহোক, আপনি সি প্রোগ্রামিং প্রোগ্রামের অনুরূপ স্টাইলের জন্য লুপ লিখতে পারেন, এটির মতো: #! / bin / bashfor ((সংখ্যা = 1; সংখ্যা <100; সংখ্যা ++)) {if (($ number% 5 == 0)) তারপর "$ সংখ্যাটি 5 দ্বারা ভাগ করা যায়" FI} প্রস্থান 0
লুপ পরিবর্তনশীল সংখ্যা সেটিং 1 দ্বারা শুরু হয় (সংখ্যা = 1 )। একটি সংখ্যা মান 100 এর চেয়ে কম থাকলে লুপটি পুনরাবৃত্তি করবে ( সংখ্যা <100 )। মুল্য সংখ্যা প্রতিটি পুনরাবৃত্তি পরে এটি 1 যোগ করে পরিবর্তন সংখ্যা ++, ). কোঁকড়া ধনুর্বন্ধনী মধ্যে সবকিছু লুপ প্রতিটি পুনরাবৃত্তি মাধ্যমে সঞ্চালিত হয়। ধনুর্বন্ধনী মধ্যে বিট একটি মান চেক করে সংখ্যা , 5 দ্বারা এটি ভাগ করে, এবং বাকিটিকে 0 দিয়ে তুলনা করে। বাকিটি যদি 0 হয় তবে সংখ্যাটি 5 দ্বারা বিভক্ত হয় এবং তারপর পর্দায় প্রদর্শিত হয়। উদাহরণ স্বরূপ: আপনি পুনরাবৃত্তির ধাপের আকার পরিবর্তন করতে চান তবে আপনি ++ বিভাগটি সংশোধন করতে পারেন সংখ্যা = সংখ্যা +2 , সংখ্যা = NUMBER + 5 , অথবা সংখ্যা = NUMBER + 10 প্রভৃতি এই আরও হ্রাস করা যেতে পারে NUMBER + = 2 অথবা NUMBER + = 5 . Loops সংখ্যা পুনরাবৃত্তি তালিকা বেশী করতে পারেন। আপনি আসলে তালিকা হিসাবে অন্যান্য কমান্ড আউটপুট ব্যবহার করতে পারেন। নিম্নোক্ত উদাহরণটি দেখায় যে কিভাবে অডিও ফাইলগুলিকে MP3 থেকে WAV রূপান্তর করতে হয়: #! / বিন / ব্যাশফাইলের জন্য ./*.mp3dompg -w ./wavs/"${file}".wav "$ ফাইল" সম্পন্ন
এই উদাহরণের তালিকাটি বর্তমান ফোল্ডারে এমপি 3 এক্সটেনশন সহ প্রতিটি ফাইল এবং পরিবর্তনশীল একটি ফাইল . দ্য MPG কমান্ড এমএইচপি ফাইলকে WAV রূপান্তর করে। তবে, সম্ভবত আপনার প্যাকেজ ম্যানেজার ব্যবহার করে এটি ইনস্টল করতে হবে।
একটি শুরু এবং শেষ পয়েন্ট মধ্যে লুপ কিভাবে
কিভাবে একটি পরিসীমা সংখ্যা ছেড়ে চলে যান
লুপ জন্য আরো একটি ঐতিহ্যগত খুঁজছেন
একটি প্রাকটিক্যাল উদাহরণ