Beginners গাইড বাশে - পার্ট 1 - হ্যালো ওয়ার্ল্ড

ইন্টারনেটে অনেকগুলি নির্দেশিকা রয়েছে যা দেখায় যে শেল স্ক্রিপ্টগুলি BASH ব্যবহার করে কিভাবে তৈরি করা যায় এবং এই নির্দেশিকাটি একটি সামান্য ভিন্ন স্পিন প্রদান করে, কারণ এটি এমন কারো দ্বারা লিখিত হয় যাদের খুব কম শেল স্ক্রিপ্টিং অভিজ্ঞতা রয়েছে।

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

যদিও আমার লিনাক্স / ইউনিক্স শেল স্ক্রিপ্টিংয়ের অভিজ্ঞতা সীমিত, আমি ট্রেড দ্বারা সফটওয়্যার ডেভেলপার নই এবং আমি পিএলএল, পিএইচপি এবং ভিবিস্ক্রিপ্টের মতো স্ক্রিপ্টিং ভাষায় ড্যাশ হাতে আছি।

এই নির্দেশিকা পয়েন্ট যে আমি শিখতে হিসাবে শিখতে হবে এবং আমি বাছাই কোন তথ্য আমি আপনাকে পাস হবে।

শুরু হচ্ছে

স্পষ্টত অনেক তত্ত্ব আছে যে আমি আপনাকে সরাসরি বিভিন্ন ধরনের শেল বর্ণনা এবং KSH এবং CSH উপর বাশ ব্যবহার করার সুবিধা হিসাবে সরাসরি আপনি পাস করতে পারে।

বেশিরভাগ মানুষ নতুন কিছু শেখার সময় লাফালাফি করতে চান এবং প্রথমে কিছু কিছু শেখার সাথে শুরু করেন এবং মনে করেন যে আমি আপনার সাথে যে তুচ্ছ বিষয়গুলি তুলে ধরতে যাচ্ছি তা এখন গুরুত্বপূর্ণ নয়।

এই নির্দেশিকাটি অনুসরণ করার জন্য আপনাকে কেবলমাত্র একটি টেক্সট এডিটর এবং একটি টার্মিনাল চালানো BASH (অধিকাংশ লিনাক্স ডিস্ট্রিবিউশনের ডিফল্ট শেল)।

পাঠ্য সম্পাদক

আমি যেসব নির্দেশনা পড়েছি সেগুলির সাহায্যে আপনি একটি টেক্সট এডিটরের প্রয়োজন বোধ করেছেন যেগুলি কমান্ডের রং কোডিং এবং সুপারিশকৃত সম্পাদকগুলি হয় ভিআইএম বা ইএমএক্স

রঙ কোডিংটি চমৎকার, কারণ এটি আপনি টাইপ করার জন্য কমান্ডগুলিকে তুলে ধরেছেন কিন্তু পরম শিষ্য করার জন্য আপনি একটি একক লাইন কোড লেখেন না কেন VIM এবং EMACS শেখার প্রথম কয়েক সপ্তাহ ব্যয় করতে পারেন।

দুই থেকে আমি EMACS পছন্দ করি কিন্তু সৎ হওয়াতে আমি সাধারণ সম্পাদক যেমন ন্যানো , জিএডিটি বা লিপপ্যাড ব্যবহার করতে পছন্দ করি।

যদি আপনি নিজের কম্পিউটারে স্ক্রিপ্ট লেখেন এবং আপনি জানেন যে আপনার সর্বদা গ্রাফিকাল পরিবেশে প্রবেশাধিকার থাকবে তবে আপনি যে সম্পাদকটি আপনার জন্য সবচেয়ে ভালভাবে কাজ করে তা চয়ন করতে পারেন এবং এটি গ্রাফিক্যাল যেমন জিইডিট বা একটি সম্পাদক যা টার্মিনালে সরাসরি পরিচালিত হয় যেমন ন্যানো বা vim হিসাবে

এই নির্দেশিকাটির জন্য আমি ন্যানো ব্যবহার করবো কারণ এটি লিনাক্স ডিস্ট্রিবিউশনের বেশিরভাগ ক্ষেত্রে নেটিভভাবে ইনস্টল করা হয় এবং এটি সম্ভবত আপনার কাছে এটি অ্যাক্সেস থাকবে।

একটি টার্মিনাল উইন্ডো খুলছে

যদি আপনি লিনাক্স ডিস্ট্রিবিউশন যেমন লিনাক্স মিন্ট বা উবুন্টু সহ ব্যবহার করছেন, আপনি CTRL + ALT + T টিপে একটি টার্মিনাল উইন্ডো খুলতে পারেন।

কোথায় আপনার স্ক্রিপ্ট রাখুন

এই টিউটোরিয়ালের উদ্দেশ্যে আপনি আপনার স্ক্রিপ্টগুলি আপনার হোম ফোল্ডারের অধীনে ফোল্ডারে রাখতে পারেন।

একটি টার্মিনাল উইন্ডোর মধ্যে আপনি নিম্নলিখিত কমান্ডটি টাইপ করে আপনার হোম ফোল্ডারে আছেন তা নিশ্চিত করুন:

সিডি ~

Cd কমান্ড পরিবর্তন ডিরেক্টরিের জন্য দাঁড়ায় এবং টিল্ড (~) হল আপনার হোম ফোল্ডারের জন্য একটি শর্টকাট।

আপনি নিম্নলিখিত কমান্ড টাইপ করে সঠিক জায়গায় আছেন তা চেক করতে পারেন:

PWD

Pwd কমান্ডটি আপনাকে আপনার বর্তমান কার্যকরী ডাইরেক্টরিটি বলবে (যেখানে আপনি ডিরেক্টরি গাছের মধ্যে আছেন)। আমার ক্ষেত্রে এটি / হোম / গ্যারি ফিরে এসেছে।

এখন স্পষ্টতই আপনি আপনার স্ক্রিপ্টকে সরাসরি হোম ফোল্ডারে রাখতে চান না, তাই নিম্নোক্ত কমান্ডটি টাইপ করে স্ক্রিপ্ট নামক একটি ফোল্ডার তৈরি করুন।

এমকিডির স্ক্রিপ্ট

নিম্নোক্ত কমান্ডটি টাইপ করে নতুন স্ক্রিপ্ট ফোল্ডারে পরিবর্তন করুন:

সিডি স্ক্রিপ্টগুলি

আপনার প্রথম স্ক্রিপ্ট

এটি প্রথাগত হয় যখন প্রথম প্রোগ্রামটি তৈরি করার প্রোগ্রামটি শিখছে তখন কেবল "হ্যালো ওয়ার্ল্ড" শব্দটি আউটপুট করা হবে।

আপনার স্ক্রিপ্ট ফোল্ডার থেকে নিম্নোক্ত কমান্ডটি লিখুন:

ন্যানো helloworld.sh

এখন নীচের কোডটি ন্যানো উইন্ডোতে প্রবেশ করান।

#! / বিন / বাশ ইকো "হ্যালো ওয়ার্ল্ড"

ন্যানো থেকে প্রস্থান করার জন্য ফাইলটি সংরক্ষণ করতে CTRL + O টিপুন এবং CTRL + X টিপুন।

স্ক্রিপ্ট নিজেই নিম্নরূপ গঠিত হয়:

#! / Bin / bash আপনার লেখা সমস্ত স্ক্রিপ্টের শীর্ষে অন্তর্ভুক্ত করা প্রয়োজন কারণ এটি দোভাষী এবং অপারেটিং সিস্টেমকে জানাচ্ছে ফাইলটি কিভাবে পরিচালনা করা যায়। মূলত এটি মনে রাখা এবং আপনি কেন এটি করতে ভুলবেন না।

দ্বিতীয় লাইনের একটি ইকো নামক একটি কমান্ড রয়েছে যা পাঠ্যটি যেভাবে অনুসরণ করে তা অবিলম্বে অনুসরণ করে।

উল্লেখ্য, যদি আপনি একাধিক শব্দ প্রদর্শন করতে চান তবে আপনাকে শব্দগুলির কাছাকাছি ডাবল কোট (") ব্যবহার করতে হবে।

আপনি নিম্নলিখিত কমান্ডটি টাইপ করে স্ক্রিপ্টটি চালাতে পারেন:

শর্টওয়েস্ট

"হ্যালো ওয়ার্ল্ড" শব্দটি প্রদর্শিত হবে।

স্ক্রিপ্ট চালানোর অন্য উপায় হল নিম্নরূপ:

./helloworld.sh

সম্ভাবনা যে আপনি যদি সরাসরি আপনার টার্মে যে কমান্ড চালান আপনি একটি অনুমতি ত্রুটি পাবেন।

এইভাবে স্ক্রিপ্ট চালানোর অনুমতি দেওয়ার জন্য নিম্নলিখিত টাইপ করুন:

sudo chmod + x helloworld.sh

তাই কি আসলে সেখানে ঘটেছে? আপনি অনুমতি দিলে পরিবর্তে কি ঘটেছে, যা देवाने আপনি পুনঃস্থাপনী এবং বিশ্লেষণ করতে পারবেন।

প্রথম পদ্ধতিটি bash ইন্টারপ্রেটার লোড করে যা helloworld.sh একটি ইনপুট হিসেবে নেয় এবং এটি এর সাথে কী কী কাজ করে তা বের করে। Bash ইন্টারপ্রেটার ইতিমধ্যে চালানোর অনুমতি আছে এবং শুধু স্ক্রিপ্ট মধ্যে কমান্ড চালানোর প্রয়োজন।

দ্বিতীয় পদ্ধতিটি অপারেটিং সিস্টেমটি স্ক্রিপ্টের সাথে কি কি কাজ করে তা প্রদর্শন করতে দেয় এবং এটিকে চালানোর জন্য একটি এক্সিকিউটেবল বিট প্রয়োজন।

উপরে স্ক্রিপ্ট ঠিক ছিল কিন্তু আপনি উদ্ধৃতি চিহ্ন প্রদর্শন করতে চান তাহলে কি হবে?

এই অর্জন করার বিভিন্ন উপায় আছে। উদাহরণস্বরূপ আপনি নিম্নলিখিত উদ্ধৃতি চিহ্নগুলি আগে একটি ব্যাকস্ল্যাশ রাখতে পারেন:

echo \ "হ্যালো বিশ্ব \"

এটি "হ্যালো ওয়ার্ল্ড" আউটপুট উত্পাদন করবে

যদিও একটি মিনিট অপেক্ষা করুন, আপনি কি \ "হ্যালো বিশ্ব \" প্রদর্শন করতে চান?

ভাল আপনি পাশাপাশি অব্যাহতি অক্ষর অব্যাহতি পারেন

echo \\ "\" হ্যালো বিশ্ব \\ "\"

এটি আউটপুট \ "হ্যালো ওয়ার্ল্ড \" উত্পাদন করবে।

এখন আমি জানি আপনি কি ভাবছেন। কিন্তু আমি সত্যিই \ "" \ "হ্যালো ওয়ার্ল্ড \" প্রদর্শন করতে চাই \ "

এই সব অব্যাহতি অক্ষর সঙ্গে প্রতিধ্বনিত ব্যবহার করে বেশ অলস পেতে পারেন। একটি বিকল্প কমান্ড আছে যা আপনি printf নামে ব্যবহার করতে পারেন।

উদাহরণ স্বরূপ:

printf '% s \ n' '\\ "\" হ্যালো বিশ্ব \\ "\"'

লক্ষ্য করুন যে পাঠ্য আমরা প্রদর্শন করতে চাই সেটি একক উদ্ধৃতির মধ্যে। Printf কমান্ড আপনার স্ক্রিপ্ট থেকে টেক্সট আউটপুট। % S মানে যে এটি একটি স্ট্রিং প্রদর্শন করবে, \ n একটি নতুন লাইন আউটপুট।

সারাংশ

আমরা সত্যিই অংশ এক আচ্ছাদিত সত্যিই না কিন্তু আশা আপনি আপনার প্রথম স্ক্রিপ্ট কাজ আছে।

পরবর্তী অংশে আমরা আলোর বিশ্ব স্ক্রিপ্টে বিভিন্ন রঙের টেক্সট প্রদর্শন করতে, ইনপুট প্যারামিটার, ভেরিয়েবল এবং আপনার কোড টি মন্তব্য এবং সেগুলি পরিচালনা এবং পরিচালনা করতে দেখব।