BASH/C2/Nested-and-multilevel-if-elsif-statements/Bengali
From Script | Spoken-Tutorial
Revision as of 12:10, 24 August 2016 by Kaushik Datta (Talk | contribs)
|
|
00:00 | BASH এ Nested এবং 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:53 | এখানে আরেকটি 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 | আমি কৌশিক দত্ত এই টিউটোরিয়ালটি অনুবাদ করেছি। অংশগ্রহনের জন্য ধন্যবাদ। |