প্রথম দিকের গাইড টু টুএএসএইচ সিরিজের ক্ষেত্রে আপনাকে স্বাগতম, এটি অনন্য যে এটি শুধুমাত্র একমাত্র বাশ টিউটোরিয়াল যা নতুনদের জন্য শিক্ষানবিস দ্বারা লিখিত।
এই নির্দেশিকার পাঠকেরা আমার জ্ঞান গড়ে তুলবে যখন আমি আমার জ্ঞান গড়ে তুলব এবং আশা করি এটির শেষে আমরা কিছু মোটামুটি চতুর স্ক্রিপ্ট লিখতে পারব।
গত সপ্তাহে আমি আপনার প্রথম স্ক্রিপ্ট তৈরি করেছি যা কেবল "হ্যালো ওয়ার্ল্ড" শব্দগুলি দেখায়। এতে পাঠ্য সম্পাদক, কীভাবে একটি টার্মিনাল উইন্ডো খুলতে হয়, আপনার স্ক্রিপ্ট কোথায় রাখা যায়, কীভাবে "হ্যালো ওয়ার্ল্ড" শব্দগুলি এবং কোটস ("") মত পাল্টা অক্ষরের কিছু সূক্ষ্ম পয়েন্ট প্রদর্শন করা যায় তা বিষয়গুলিতে এটি জুড়ে।
এই সপ্তাহে আমি ইনপুট পরামিতি আবরণ করতে যাচ্ছি। এই ধরণের জিনিস শেখানোর অন্য গাইডগুলি রয়েছে তবে আমি মনে করি তারা কিছু মোটামুটি নিম্ন স্তরের স্টাফগুলিতে ঢুকে পড়ে এবং সম্ভবত খুব বেশি তথ্য সরবরাহ করে।
একটি পরামিতি কি?
শেষ টিউটোরিয়াল থেকে "হ্যালো ওয়ার্ল্ড" স্ক্রিপ্টে এটি সব খুব স্থিতিশীল ছিল। স্ক্রিপ্ট সত্যিই অনেক কিছু না।
কিভাবে আমরা "হ্যালো ওয়ার্ল্ড" স্ক্রিপ্ট উন্নত করতে পারে?
এমন একটি স্ক্রিপ্ট যা কীভাবে পরিচালনা করে তার প্রশংসা করে? "হ্যালো ওয়ার্ল্ড" বলার পরিবর্তে এটি "হ্যালো গ্যারি", "হ্যালো টিম" বা "হ্যালো ডলি" বলবে।
ইনপুট পরামিতি গ্রহণ করার ক্ষমতা ছাড়া আমাদের তিনটি স্ক্রিপ্ট "hellogary.sh", "hellotim.sh" এবং "hellodolly.sh" লিখতে হবে।
আমাদের স্ক্রিপ্ট ইনপুট পরামিতি পড়তে অনুমতি দিয়ে আমরা কাউকে অভিনন্দন জানাতে একটি স্ক্রিপ্ট ব্যবহার করতে পারি।
এটি করার জন্য একটি টার্মিনাল উইন্ডো খুলুন (CTRL + ALT + T) এবং নীচের টাইপ করে আপনার স্ক্রিপ্ট ফোল্ডারে নেভিগেট করুন: (cd কমান্ড সম্পর্কে)
সিডি স্ক্রিপ্ট
Greetme.sh নামক একটি নতুন স্ক্রিপ্ট তৈরি করুন নিম্নলিখিতটি টাইপ করে: (স্পর্শ কমান্ড সম্পর্কে)
greetme.sh স্পর্শ করুন
নিম্নলিখিত টাইপ করে আপনার প্রিয় সম্পাদক স্ক্রিপ্টটি খুলুন: (ন্যানো কমান্ড সম্পর্কে)
ন্যানো greetme.sh
ন্যানো মধ্যে নিম্নলিখিত লেখা লিখুন:
#! / bin / bash echo "হ্যালো $ @"
ফাইলটি বন্ধ করার জন্য CTRL এবং O টিপুন এবং তারপর CTRL এবং X ফাইলটি বন্ধ করুন।
স্ক্রিপ্ট চালানোর জন্য আপনার নামের সাথে প্রতিস্থাপন কমান্ড লাইনের মধ্যে নিম্নলিখিতটি প্রবেশ করান।
sh greetme.sh
যদি আমি আমার নামের সাথে স্ক্রিপ্টটি চালাই তবে এটি "হ্যালো গ্যারি" শব্দটি প্রদর্শন করে।
প্রথম লাইনটিতে #! / Bin / bash লাইন রয়েছে যা একটি ব্যাশ স্ক্রিপ্ট হিসাবে ফাইল সনাক্ত করতে ব্যবহৃত হয়।
দ্বিতীয় লাইনটি হ্যালো শব্দটি ইকো করতে echo বিবৃতিটি ব্যবহার করে এবং তারপর অদ্ভুত $ @ নোটেশন আছে। (echo কমান্ড সম্পর্কে)
$ @ স্ক্রিপ্ট নামের পাশাপাশি প্রবেশ করা প্রতিটি পরামিতি প্রদর্শন করতে প্রসারিত। সুতরাং আপনি যদি "sh greetme.sh tim" টাইপ করেন তবে "হ্যালো টাইম" শব্দটি প্রদর্শিত হবে। আপনি যদি "greetme.sh tim smith" টাইপ করেন তবে "hello tim smith" শব্দগুলি প্রদর্শিত হবে।
Greetme.sh স্ক্রিপ্টটি শুধু প্রথম নাম ব্যবহার করে হ্যালো বলার জন্য এটি চমৎকার হতে পারে। কেউ যখন আমার সাথে সাক্ষাত করে তখন "হ্যালো গ্যারি নিউেল" বলে, তারা হয়তো "হ্যালো গ্যারি" বলতে পারে।
আসুন স্ক্রিপ্ট পরিবর্তন করি যাতে এটি প্রথম পরামিতিটি ব্যবহার করে। নীচের টাইপ করে ন্যানো ভাষায় greetme.sh স্ক্রিপ্ট খুলুন:
ন্যানো greetme.sh
নিম্নরূপ এটি পড়তে যাতে স্ক্রিপ্ট পরিবর্তন:
#! / bin / bash echo "হ্যালো $ 1"
CTRL এবং O চেপে স্ক্রিপ্টটি সংরক্ষণ করুন এবং তারপর CTRL এবং X টিপে প্রস্থান করুন।
নিচে দেখানো স্ক্রিপ্টটি চালান (আপনার নামটি আমার সাথে প্রতিস্থাপন করুন):
sh greetme.sh gary newell
যখন আপনি স্ক্রিপ্টটি চালান তখন এটি কেবল "হ্যালো গ্যারি" (অথবা আশা করি "হ্যালো" এবং আপনার নাম যাই হোক না কেন।
$ চিহ্নের পরে 1 মূলত ইকো কমান্ডটি বলে, প্রথম পরামিতিটি ব্যবহার করুন। যদি আপনি $ 1 দিয়ে $ 1 প্রতিস্থাপন করেন তবে এটি "হ্যালো নিউইল" (অথবা আপনার উপাধি যা থাকে) প্রদর্শন করবে।
ঘটনাক্রমে যদি আপনি $ 3 দিয়ে $ 2 প্রতিস্থাপিত করেন এবং শুধুমাত্র ২ পরামিতি দিয়ে স্ক্রিপ্টটি চালান তবে আউটপুট কেবল "হ্যালো" হবে।
প্রকৃতপক্ষে প্রবেশ করা প্যারামিটারগুলির সংখ্যা প্রদর্শন এবং পরিচালনা করা সম্ভব এবং পরবর্তী টিউটোরিয়ালগুলিতে আমি যাচাইকরণের উদ্দেশ্যে পরামিতি গণনাটি কীভাবে ব্যবহার করব তা দেখানো হবে।
প্রবেশ করা পরামিতি সংখ্যা প্রদর্শন করতে greetme.sh স্ক্রিপ্ট খুলুন (ন্যানো greetme.sh) এবং নিম্নরূপ টেক্সট সংশোধন:
#! / bin / bash echo "আপনি $ # নাম লিখেছেন" echo "হ্যালো $ @"
স্ক্রিন এবং CTRL এবং X সংরক্ষণ করতে ন্যানো থেকে বেরিয়ে CTRL এবং O টিপুন।
দ্বিতীয় রেখায় $ # প্রবেশ করা পরামিতি সংখ্যা প্রদর্শন করে।
এ পর্যন্ত এই সব উপন্যাস কিন্তু খুব দরকারী না। কে কেবল "হ্যালো" প্রদর্শন করে এমন একটি স্ক্রিপ্ট দরকার?
ইকো বিবৃতির জন্য প্রকৃত ব্যবহার ব্যবহারকারীকে verbose এবং অর্থপূর্ণ আউটপুট প্রদান করা হয়। আপনি কল্পনা করতে পারেন যে আপনি জটিল কিছু করতে চান যার মধ্যে কিছু গুরুতর সংখ্যা ক্রঞ্চিং এবং ফাইল / ফোল্ডার ম্যানিপুলেশন রয়েছে যা ব্যবহারকারীর কাছে প্রতিটি পদক্ষেপের কী হচ্ছে তা প্রদর্শনের জন্য উপকারী হবে।
বিপরীতে, ইনপুট পরামিতি আপনার স্ক্রিপ্ট ইন্টারেক্টিভ করা। ইনপুট প্যারামিটার ছাড়া আপনি স্ক্রিপ্ট ডজন সব খুব অনুরূপ জিনিস কিন্তু সামান্য বিভিন্ন নামের সঙ্গে প্রয়োজন হবে।
এই সব মনে রেখে কিছু অন্যান্য দরকারী ইনপুট প্যারামিটার রয়েছে যা জানা একটি ভাল ধারণা এবং আমি তাদের এক কোড স্নিপেটে অন্তর্ভুক্ত করব।
আপনার greetme.sh স্ক্রিপ্ট খুলুন এবং নিম্নরূপ এটি সংশোধন করুন:
#! / bin / bash echo "ফাইলনাম: $ 0" echo "প্রক্রিয়া আইডি: $$" echo "---------------------------- --- "echo" আপনি $ # নাম লিখেছেন "echo" হ্যালো $ @ "
ফাইলটি এবং CTRL এবং X টি প্রস্থান করার জন্য CTRL এবং O টিপুন।
এখন স্ক্রিপ্টটি চালান (আপনার নামে প্রতিস্থাপন করুন)।
sh greetme.sh
এই সময় স্ক্রিপ্ট নিম্নলিখিত প্রদর্শন করে:
ফাইলনাম: greetme.sh প্রক্রিয়া আইডি: 18595 ------------------------------ আপনি 2 নাম্বার হ্যালো গ্যারি নিউভেল লিখেছেন
স্ক্রিপ্টের প্রথম লাইনে $ 0 আপনার চলমান স্ক্রিপ্টটির নাম প্রদর্শন করে।মনে রাখবেন এটি ডলার শূন্য এবং ডলার নয়।
দ্বিতীয় লাইনের $$ আপনার চলমান স্ক্রিপ্টটির প্রক্রিয়া আইডি প্রদর্শন করে। কেন এই দরকারী? আপনি যদি সম্মুখভাগে একটি স্ক্রিপ্টটি চালাচ্ছেন তবে আপনি কেবলমাত্র সিটিআরএল এবং সি চাপিয়ে এটি বাতিল করতে পারেন। আপনি যদি ব্যাকগ্রাউন্ডে স্ক্রিপ্টটি চালান এবং এটি একইভাবে কাজ শুরু করে এবং একই কাজ করে এবং আপনার সিস্টেমে ক্ষতি করার কারণে শুরু হয় এটা হত্যা করা।
ব্যাকগ্রাউন্ডে চলমান স্ক্রিপ্টটি খোলার জন্য আপনাকে স্ক্রিপ্টটির প্রক্রিয়া id প্রয়োজন। স্ক্রিপ্টটির আউটপুট অংশ হিসাবে প্রক্রিয়া আইডি দেওয়া হলে এটি ভাল হবে না। (পিএস সম্পর্কে এবং কমান্ড হত্যা)
অবশেষে আমি এই বিষয়ে শেষ করার আগে আউটপুট যায় যেখানে সম্পর্কে আলোচনা করতে চেয়েছিলেন। প্রতিটি সময় স্ক্রিপ্টটি চালানো হয়েছে এ পর্যন্ত আউটপুট পর্দায় প্রদর্শিত হয়েছে।
স্ক্রিপ্ট আউটপুট একটি আউটপুট ফাইলে লেখা হওয়ার জন্য এটি বেশ সাধারণ। নিম্নরূপ এই আপনার স্ক্রিপ্ট চালানোর জন্য:
sh greetme.sh gary> greetme.log
উপরের কমান্ডের প্রতীকটি greetme.log নামক একটি ফাইলে "হ্যালো গ্যারি" লেখাটিকে আউটপুট করে।
প্রতিবার যখন আপনি স্ক্রিপ্টটিকে> প্রতীক দিয়ে চালান তখন এটি আউটপুট ফাইলের বিষয়বস্তুকে ওভাররাইট করে। আপনি যদি ফাইল যুক্ত করতে পছন্দ করেন>> এর সাথে প্রতিস্থাপন করুন।
সারাংশ
আপনি এখন পর্দায় পাঠ্য লিখতে এবং ইনপুট পরামিতি গ্রহণ করতে সক্ষম হওয়া উচিত।




