BASH/C2/Nested-and-multilevel-if-elsif-statements/Bengali

From Script | Spoken-Tutorial
Revision as of 22:04, 4 March 2015 by Kaushik Datta (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
00:00 BASHNested এবং Multilevel if স্টেটমেন্টের টিউটোরিয়াল আপনাদের স্বাগত।
00:09 এই টিউটোরিয়ালে শিখব:
00:12 Nested if-else এবং
00:14 Multilevel if-else স্টেটমেন্ট
00:17 এটি কয়েকটি উদাহরণের সাহায্যে করব।
00:22 টিউটোরিয়ালটি অনুসরণ করতে লিনাক্স অপারেটিং সিস্টেম সম্পর্কে জানতে হবে।
00:28 না হলে, প্রাসঙ্গিক টিউটোরিয়ালের জন্য আমাদের ওয়েবসাইট পরিদর্শন করুন।
00:35 এখানে ব্যবহার করছি:
00:38 উবুন্টু লিনাক্স 12.04 OS এবং
00:42 GNU Bash সংস্করণ 4.1.10.
00:46 অনুশীলনের জন্য GNU Bash 4 বা তার উচ্চতর সংস্করণ ব্যবহার করা হয়।
00:52 এখন Nested if-else স্টেটমেন্টের প্রবাহ বুঝি।
00:57 এখানে condition1, true হলে condition 2 মূল্যায়ন করা হবে।
01:04 যদি condition2, true হয় তাহলে statement 1 এক্সিকিউট করা হবে।
01:10 এর মানে, যখন উভয় condition 1 এবং 2 true তারপর statement 1 এক্সিকিউট করা হবে।
01:19 যদি condition1, false হয় তাহলে statement 3 এক্সিকিউট করা হবে
01:25 এবং যদি condition 2, false হয় তাহলে statement 2 এক্সিকিউট করা হবে।
01:31 একটি উদাহরণ দেখি।
01:33 nestedifelse ডট sh ফাইলে একটি কোড লিখেছি।
01:38 আমি এটি খুলবো।
01:40 এখন কোড ব্যাখ্যা করি।
01:43 এটি shebang লাইন।
01:45 NAME ভ্যারিয়েবলে anusha নিয়োগ করা হয়েছে।
01:50 PASSWORD ভ্যারিয়েবলে abc123 নিয়োগ করা হয়েছে।
01:56 read কমান্ড স্ট্যান্ডার্ড ইনপুট থেকে তথ্যের একটি লাইন পড়ে।
02:02 হাইফেন p ফ্ল্যাগ প্রম্পট প্রদর্শন করে।
02:05 হাইফেন p, “Enter name: ” এর পরের স্ট্রিং টার্মিনালে প্রদর্শিত হবে।
02:11 myname একটি ভ্যারিয়েবল যা ইউসারের দ্বারা লিখিত টেক্সট সংরক্ষণ করে যেমন ইউসার ইনপুট।
02:18 প্রথম if স্টেটমেন্ট দুটি ভ্যারিয়েবল myname এবং NAME তুলনা করে।
02:24 অর্থাৎ ইউসার ইনপুট এবং Name ভ্যারিয়েবলে সংরক্ষিত ভ্যালু অর্থাৎ anusha.
02:31 দুটি ভ্যালু মিললে, তারপর এই if স্টেটমেন্টে থাকা বাকি কোড মূল্যায়ন করা হবে।
02:38 read কমান্ড mypassword ভ্যারিয়েবলে লিখিত পাসওয়ার্ড পড়ে এবং সংরক্ষণ করে।
02:46 হাইফেন s ফ্ল্যাগ হল সাইলেন্ট মোডের জন্য।
02:49 এর মানে ইউসারের দ্বারা লিখিত টেক্সট টার্মিনালে প্রদর্শন করা হবে না।
02:56 এখানে আরেকটি if-else স্টেটমেন্টের সেট রয়েছে।
02:59 এই if-else স্টেটমেন্টের সেট প্রথম if এর মধ্যে নেস্টেড।
03:05 দ্বিতীয় if-else স্টেটমেন্ট mypassword এবং PASSWORD ভ্যারিয়েবল তুলনা করে।
03:12 কন্ডিশন true হলে echo টার্মিনালে “Welcome” ম্যাসেজ দেয়।
03:18 মানে যখন পাসওয়ার্ড মেলে।
03:21 হাইফেন e ব্যাকস্ল্যাশ এস্কেপের বর্ণন সক্ষম করে।
03:27 ব্যাকস্ল্যাশ n নতুন লাইনের জন্য রয়েছে; যার মানে Welcome স্ট্রিং নতুন লাইনে প্রিন্ট করা হবে।
03:35 যদি if কন্ডিশন true না হয় তাহলে else কন্ডিশন এক্সিকিউট করা হবে।
03:42 অর্থাৎ পাসওয়ার্ড না মিললে, else কন্ডিশন এক্সিকিউট করা হবে।
03:48 এই ক্ষেত্রে echo, Wrong password দেখায়।
03:53 fi ভিতরের if-else স্টেটমেন্ট সমাপ্ত করে।
03:57 প্রথম if-else স্টেটমেন্টে ফিরে আসি।
04:01 myname এবং NAME এর ভ্যালু না মিললে, এই else স্টেটমেন্ট এক্সিকিউট করা হবে।
04:09 এটি টার্মিনালে Wrong Name ম্যাসেজ ইকো করে।
04:14 fi বাইরের if-else স্টেটমেন্ট সমাপ্ত করে।
04:18 এখন আপনার কীবোর্ডে Ctrl + Alt এবং T কী একসাথে টিপে টার্মিনাল খুলুন।
04:27 ফাইল এক্সিকিউটেবল করুন।
04:29 লিখুন: chmod স্পেস প্লাস x স্পেস nestedifelse ডট sh
04:38 এখন লিখুন ডট স্ল্যাশ nestedifelse ডট sh
04:43 প্রোগ্রাম দুটি কন্ডিশন যাচাই করে।
04:46 Name এবং Password
04:48 যখন এটি টার্মিনালে এক্সিকিউট হয়।
04:52 এখানে প্রম্পট Enter Name প্রদর্শন করে।
04:55 anusha লিখুন।
04:57 এই কন্ডিশন true হওয়ায় পরবর্তী if কন্ডিশন যাচাই করা হবে।
05:02 এখন প্রম্পট বলে Password.
05:05 আমি পাসওয়ার্ড হিসাবে abc123 লিখব।
05:10 পাসওয়ার্ড ভ্যারিয়েবল PASSWORD এ থাকা ভ্যালুর সাথে মেলাবে।
05:15 প্রম্পট Welcome ম্যাসেজ প্রদর্শন করে।
05:19 এখন আবার স্ক্রিপ্ট এক্সিকিউট করি।
05:21 আপ অ্যারো কী টিপুন।
05:24 ডট স্ল্যাশ nestedifelse ডট sh এ যান।
05:29 Enter টিপুন।
05:31 এই বার আমরা ভিন্ন পাসওয়ার্ডের সাথে একই নাম লিখব।
05:37 তাই আমি নাম হিসাবে anusha এবং পাসওয়ার্ড হিসাবে 123 লিখব।
05:44 এক্ষেত্রে নামের ভ্যালু মিলবে কিন্তু পাসওয়ার্ডের ভ্যালু নয়।
05:49 তাই Wrong password ম্যাসেজ প্রদর্শিত হবে।
05:53 এটি প্রমাণ করে যে প্রথম if স্টেটমেন্টে থাকা nested else স্টেটমেন্ট এক্সিকিউট হয়েছে।
06:01 আবার স্ক্রিপ্ট এক্সিকিউট করি।
06:04 এখন আমরা নাম হিসেবে swati লিখব।
06:08 Wrong name ম্যাসেজ প্রদর্শিত হয়েছে।
06:12 এর কারণ হল ভ্যালু swati পূর্বে ঘোষিত ভ্যালু anusha এর সাথে মেলে না।
06:19 কন্ট্রোল প্রথম if স্টেটমেন্টের বাইরে আসে এবং else স্টেটমেন্ট এক্সিকিউট করে।
06:25 এটি Wrong name ম্যাসেজ প্রিন্ট করে।
06:29 এখন মাল্টিলেভেল if-else স্টেটমেন্ট দেখি।
06:34 condition 1, true হলে statement 1 এক্সিকিউট হয়।
06:40 condition 1, false হলে condition 2 মূল্যায়ন করা হয়।
06:46 condition 2, true হলে statement 2 এক্সিকিউট হয়
06:52 এবং condition 2, false হলে condition N মূল্যায়ন করা হয়।
06:58 condition N, true হলে তারপর statement N এক্সিকিউট হয়।
07:03 এবং Condition N, false হলে statement X এক্সিকিউট করা হবে।
07:10 একটি উদাহরণ দেখি।
07:12 একটি কার্যকর উদাহরণ রয়েছে।
07:14 আমি এটি খুলবো। আমাদের ফাইলের নাম multilevel হাইফেন ifelse ডট sh.
07:23 এখন কোড দেখি।
07:25 এটি shebang লাইন।
07:27 mystring একটি ভ্যারিয়েবল যা এক্সিকিউশনের দরুন শব্দ, ইউসারের দ্বারা ইনপুট সংরক্ষণ করে।
07:34 if কন্ডিশন ইনপুট স্ট্রিং null কিনা যাচাই করে।
07:39 হাইফেন z স্ট্রিং এর দৈর্ঘ্য কিনা যাচাই করে।
07:44 টার্মিনালে লিখুন man test এবং বিভিন্ন স্ট্রিং কম্পেরিশন অন্বেষণ করুন।
07:51 কিছু লেখা না থাকলে এই echo স্টেটমেন্ট প্রিন্ট করা হবে।
07:56 প্রথম elif কন্ডিশন যাচাই করে যে ইনপুট স্ট্রিং এ raj রয়েছে কিনা।
08:03 যদি তা হয়, তাহলে এই echo স্টেটমেন্ট প্রিন্ট করা হবে।
08:08 ওয়াইল্ডকার্ড অক্ষর এতে raj এর সাথে থাকা কোনো শব্দ সনাক্ত করা নিশ্চিত করে।
08:15 পরবর্তী elif কন্ডিশন ইনপুট স্ট্রিং এ jit শব্দ রয়েছে কিনা তা যাচাই করে।
08:22 যদি তা হয়, তাহলে এই echo স্টেটমেন্ট প্রিন্ট করা হবে।
08:27 উপরোক্ত সকল কন্ডিশন ব্যর্থ হলে else কন্ডিশন এক্সিকিউট করা হবে।
08:33 এটি Sorry! ম্যাসেজ দেখাবে। ইনপুটে raj বা jit উভয়ের একটিও নেই।
08:41 fi মাল্টিলেভেল if-else স্টেটমেন্টের সমাপ্তি চিন্হিত করে।
08:46 প্রোগ্রাম এক্সিকিউট করি।
08:48 টার্মিনালে ফিরে আসি।
08:51 লিখুন: chmod স্পেস প্লাস x স্পেস multilevel হাইফেন ifelse ডট sh.
09:00 লিখুন ডট স্ল্যাশ multilevel হাইফেন ifelse ডট sh.
09:06 ইনপুটের জন্য অনুরোধ করা হয়।
09:09 ভিন্ন ইনপুট দেই এবং দেখি যে প্রতিবার কি হয়।
09:14 প্রথমে কোনো কিছু না লিখে Enter টিপব।
09:19 Nothing was Entered ম্যাসেজ দেখায়।
09:22 কন্ট্রোল মাল্টিলেভেল if-else স্টেটমেন্টের বাইরে আসে।
09:28 প্রম্পট মুছে ফেলি।
09:30 ভিন্ন ইনপুট দ্বারা স্ক্রিপ্ট এক্সিকিউটের চেষ্টা করি।
09:34 আপ অ্যারো কী টিপুন।
09:36 ডট স্ল্যাশ multilevel হাইফেন ifelse ডট sh এ যান।
09:41 Enter টিপুন।
09:43 প্রম্পট Enter a Word দেখায়।
09:45 আমি abhijit লিখব।
09:48 প্রদর্শিত আউটপুট হল abhijit contains word jit.
09:53 এটি দেখায় যে কন্ট্রোল কোডের তৃতীয় কন্ডিশনে প্রবাহিত হয়েছে।
09:59 প্রথম দুটি কন্ডিশন মেলে না।
10:03 অন্যান্য কন্ডিশনের জন্য একই যুক্তি প্রযোজ্য।
10:07 বিভিন্ন ইনপুটের সাথে প্রোগ্রাম এক্সিকিউটের চেষ্টা করে ফলাফল যাচাই করুন।
10:13 সংক্ষিপ্তকরণ করি।
10:15 এই টিউটোরিয়ালে শিখেছি:
10:18 Nested If-else: নাম এবং পাসওয়ার্ড যাচাই সহ এবং
10:23 Multilevel if-else: স্ট্রিং কম্পেরিশন প্রোগ্রাম।
10:28 বিভিন্ন ম্যাসেজ আউটপুট হিসাবে পেতে প্রোগ্রাম লিখুন যেখানে সংখ্যা হল:
10:34 গ্রেটার দেন 3
10:35 লেসার দেন 3
10:37 ইকুয়াল টু 3,
10:39 অথবা যখন ইউসার ইনপুট খালি।
10:42 এই লিঙ্কে উপলব্ধ ভিডিওটি দেখুন।
10:45 এটি প্রকল্পকে সারসংক্ষেপে বোঝায়।
10:48 ভাল ব্যান্ডউইডথ না থাকলে ভিডিওটি ডাউনলোড করে দেখুন।
10:53 স্পোকেন টিউটোরিয়াল প্রকল্প দল
10:55 কর্মশালার আয়োজন করে।
10:58 অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়।
11:02 বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন।
11:09 স্পোকেন টিউটোরিয়াল প্রকল্প Talk to a Teacher প্রকল্পের অংশবিশেষ।
11:13 এটি ভারত সরকারের ICT, MHRD এর জাতীয় শিক্ষা মিশন দ্বারা সমর্থিত।
11:20 এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য।
11:26 এই স্ক্রিপ্ট FOSSEE এবং স্পোকেন টিউটোরিয়াল দল তৈরী করেছে।
11:31

আমি কৌশিক দত্ত এই টিউটোরিয়ালটি অনুবাদ করেছি। অংশগ্রহনের জন্য ধন্যবাদ।

Contributors and Content Editors

Kaushik Datta