ব্যাশ আপনাকে পাঠ্যের পুরো স্ট্রিংকে একক ভেরিয়েবলে ম্যাপ করতে দেয়, এর ব্যবহার এবং স্ক্রিপ্ট লেখাকে সহজ করে। তারা কিভাবে কাজ করে, এবং কিভাবে আপনি তাদের ব্যবহার করতে পারেন? চলুন জেনে নেওয়া যাক।
ভেরিয়েবল কি?
ভেরিয়েবল হল সহজে মনে রাখা যায় এমন নাম যাতে বিভিন্ন বর্ণসংখ্যার মান থাকতে পারে। এগুলি দরকারী কারণ তারা একটি স্ক্রিপ্ট/কোডের টুকরো পুনরায় লেখা ছাড়াই একই ফাংশনকে বিভিন্ন মানগুলিতে প্রয়োগ করার অনুমতি দেয়। তারা স্ক্রিপ্ট/কোডের টুকরো লেখা সহজ করে তোলে, যেহেতু পৃথক মান নিয়ে কাজ করার পরিবর্তে, আপনি তাদের সকলের জন্য একই নাম ব্যবহার করতে পারেন।
রিয়েলটাইম ভেরিয়েবল
Bash ভেরিয়েবল ব্যবহারের অনুমতি দেয়। আপনি ফ্লাইতে ভেরিয়েবল তৈরি করতে পারেন এবং আপনার বর্তমান ব্যাশ সেশনের সময় সেগুলি পুনরায় ব্যবহার করতে পারেন। তারা বিভিন্ন উপায়ে আপনার ব্যাশ ব্যবহারে সহায়তা করতে পারে এবং বর্তমান সেশন শেষ হওয়ার পরে সেগুলি চলে যাবে৷
উদাহরণস্বরূপ, ধরা যাক আপনি একগুচ্ছ সাইট পরিদর্শন করছেন। আপনি গবেষণা করছেন বা ডেটা স্ক্র্যাপ করতে পারেন। আপনি নিম্নলিখিত পরিবর্তনশীল তৈরি করতে পারেন:
sitea=https://www.maketecheasier.com
এর পরে, আপনি যদি ফায়ারফক্সের সাথে আমাদের সাইটে যেতে চান, আপনি শুধু টাইপ করতে পারেন:
firefox $sitea
অনেক সহজ - এবং আরো পঠনযোগ্য. $sitea
আপনি ম্যানুয়ালি এর বিষয়বস্তু পরিবর্তন না করা বা ব্যাশ সেশন শেষ না হওয়া পর্যন্ত ভেরিয়েবলটি সাইটে ম্যাপ করা থাকবে। এবং, অবশ্যই, আপনি আরও ভেরিয়েবল তৈরি করতে পারেন, যেমন siteb
, sitec
, এবং sited
.
নতুন ভেরিয়েবল সেট আপ করার সময়, আপনি আপনার ইচ্ছামত যেকোন নাম ব্যবহার করতে পারেন এবং তাদের ভিতরে যেকোন আলফানিউমেরিক স্ট্রিং সংরক্ষণ করতে পারেন। মনে রাখবেন, যদিও, তারা ডিফল্টরূপে কেস-সংবেদনশীল। এইভাবে, $sitea
$SiteA
এর মত হবে না . এছাড়াও, মনে রাখবেন যে আপনার উদ্ধৃতি চিহ্নগুলি ব্যবহার করা উচিত যখন তাদের ভিতরে বিশেষ অক্ষর সহ (স্পেস সহ) স্ট্রিংগুলি সংরক্ষণ করা উচিত।
স্ক্রিপ্টে ভেরিয়েবল
স্ক্রিপ্ট লেখার সময় Bash-এর ভেরিয়েবলগুলি আরও কার্যকর কারণ তারা আপনাকে একটি একক স্ক্রিপ্ট লিখতে দেয়, যা তারপরে বিভিন্ন স্ট্রিংয়ের মাধ্যমে পুনরাবৃত্তি করতে পারে বা ডেটার কাস্টমাইজড টুকরোগুলিতে কাজ করতে পারে। ধরা যাক যে আপনি একটি স্ক্রিপ্ট লিখছেন যা প্রত্যেকে তাদের কম্পিউটারে ব্যবহার করতে পারে, তবে প্রতিবার একটি ব্যক্তিগতকৃত অভিবাদন প্রদর্শন করবে। ভেরিয়েবল ছাড়া, আপনাকে প্রতিটি ব্যবহারকারীর জন্য স্ক্রিপ্টের একটি ভিন্ন সংস্করণ লিখতে হবে। ভেরিয়েবলের সাথে, আপনি স্ক্রিপ্টটি একই রাখেন এবং শুধুমাত্র ব্যবহারকারীর নাম পরিবর্তন করেন।
এই ধরনের একটি স্ক্রিপ্ট নিম্নলিখিত মত কিছু দেখতে হবে:
#!/bin/bash username=Odysseas echo $username
উপরের উদাহরণটি অপ্রয়োজনীয় মনে হতে পারে; যাইহোক, কোডের জটিলতা বাড়ার সাথে সাথে ভেরিয়েবলগুলি অপরিহার্য হয়ে ওঠে। একটি স্ক্রিপ্ট শত শত বা হাজার হাজার লাইন দীর্ঘ হতে পারে এবং বিভিন্ন স্থানে ব্যবহারকারীর নাম থাকতে পারে। এটি আরও ভালভাবে বোঝার জন্য, নীচের কিছুটা ভিন্ন স্ক্রিপ্ট বিবেচনা করুন:
#!/bin/bash username=Linus echo Hello $username. This is a simple script I wrote that will repeat your name - that is, $username - often as an actual example of how to use Bash variables. I hope it will make it easier to understand how to use variables to improve your Bash workflow, $username. In this case, the variable username is mapped to your name. Whenever Bash runs into it, it replaces it with $username.
উপরের স্ক্রিপ্টটি username
হিসাবে সংজ্ঞায়িত নাম ব্যবহার করবে টেক্সট সম্পূর্ণ করার জন্য পরিবর্তনশীল। প্রকৃত ব্যবহারকারীর নাম ব্যবহার করলে, আপনাকে এটি চারবার টাইপ করতে হবে। তারপরে, পরবর্তী ব্যবহারকারীর জন্য একই কাজ করুন এবং পরবর্তী ব্যবহারকারীর জন্য আরও চারবার করুন। বারে বারে. এটি একটি ভেরিয়েবলের সাথে বরাদ্দ করে, আপনাকে প্রতিটি ব্যবহারকারীর জন্য এটি শুধুমাত্র একবার পরিবর্তন করতে হবে এবং পাঠ্যটিতে ব্যবহারকারীর নামের প্রতিটি উল্লেখ আপডেট করা হবে৷
স্থায়ী ব্যাশ ভেরিয়েবল এবং উপনাম
আমরা দেখেছি কীভাবে আপনি অস্থায়ীভাবে ভেরিয়েবল সেট করতে পারেন এবং কীভাবে আরও স্থায়ী কিছুর জন্য, আপনি সেগুলিকে আপনার নিজের স্ক্রিপ্টে অন্তর্ভুক্ত করতে পারেন। যদিও, ব্যাশে স্থায়ীভাবে ভেরিয়েবল সেট করা কি সম্ভব নয়? উত্তরটি একটি বড় "হ্যাঁ!" এবং আপনাকে শুধুমাত্র একটি ফাইল সম্পাদনা করতে হবে:“~/.bashrc”।
আপনার প্রিয় টেক্সট এডিটরে “~/.bashrc” ফাইলটি খুলুন। যেহেতু আমি ন্যানো পছন্দ করি, তাই আমি এটা করেছি:
nano ~/.bashrc
আমরা আপনাকে একটি পরীক্ষা চালানোর সাথে শুরু করার পরামর্শ দিই, শুধুমাত্র একটি একক ভেরিয়েবল যোগ করুন, যাতে আপনি জানতে পারবেন যে প্রক্রিয়াটি কাজ না করলে কোথায় দেখতে হবে। ফাইলের শেষে যান এবং একটি নতুন লাইনে আপনার ভেরিয়েবল যোগ করুন। উদাহরণস্বরূপ, আমি আমার নামের জন্য একটি ভেরিয়েবল সেট করেছি:
myname="Odysseas Kourafalos"
আপনার ফাইল সংরক্ষণ করুন এবং সম্পাদক থেকে প্রস্থান করুন। tweaks অবিলম্বে প্রয়োগ করা হবে না. এটি কার্যকর করার জন্য আপনার টার্মিনালে নিম্নলিখিতটি লিখুন:
source ~/.bashrc
এখন আপনি আপনার ব্যাশ সেশনে নতুন সেট করা ভেরিয়েবল ব্যবহার করতে পারেন:
echo $myname
আপনি আপনার পছন্দ অনুযায়ী অনেকগুলি ভেরিয়েবল সেট আপ করতে পারেন এবং ব্যাশে আপনার দৈনন্দিন অ্যাডভেঞ্চারগুলিকে ব্যাপকভাবে সহজ করতে পারেন৷
উৎপাদনশীলতায় অতিরিক্ত বৃদ্ধির জন্য, এটি একটি ভিন্ন ধরনের ভেরিয়েবল সেট আপ করাও মূল্যবান:উপনাম। সাধারণ ভেরিয়েবলের বিপরীতে, যা আপনি কমান্ডে ব্যবহার করতে পারেন এমন ডেটাতে ম্যাপ করা হয়, প্রকৃত কমান্ডের পরিবর্তে উপনাম ব্যবহার করা হয়।
আপনি যেমন টেক্সটের দীর্ঘ স্ট্রিং ধরে রাখার জন্য একটি সহজ-মনে-মনে ভেরিয়েবল ব্যবহার করতে পারেন, আপনি জটিল কমান্ডের সহজ বিকল্প হিসাবে উপনাম ব্যবহার করতে পারেন। আপনি এখানে তাদের সম্পর্কে আরও জানতে পারেন, যেখানে আমরা একটি সম্পূর্ণ 7zip কম্প্রেশন কমান্ডকে একটি দুই-অক্ষরের উপনামে পরিণত করি।
একটি চূড়ান্ত নোট হিসাবে, আপনি স্থায়ীভাবে .bashrc-এ একটি ভেরিয়েবল সেট করলেও, আপনি অস্থায়ীভাবে এটিতে একটি ভিন্ন মান পুনরায় বরাদ্দ করতে পারেন, যেমনটি আমরা আগে দেখেছি। বর্তমান ব্যাশ সেশন শেষ না হওয়া পর্যন্ত (লগ আউট বা রিস্টার্ট করার পরে) বা আপনি .bashrc ফাইলটি পুনরায় উৎস না করা পর্যন্ত ভেরিয়েবলটি নতুন বিষয়বস্তু উপস্থাপন করবে।