শেল স্ক্রিপ্টিং হল প্রোগ্রামিং এর সবচেয়ে সহজ ফর্ম যা আপনি লিনাক্সে শিখতে/করতে পারেন। আরও তাই, স্বয়ংক্রিয় কাজগুলির জন্য সিস্টেম অ্যাডমিনিস্ট্রেশনের জন্য এটি একটি প্রয়োজনীয় দক্ষতা, নতুন সাধারণ ইউটিলিটি/সরঞ্জামগুলিকে শুধুমাত্র উল্লেখ করার মতো।
এই নিবন্ধে, আমরা কার্যকর এবং নির্ভরযোগ্য ব্যাশ স্ক্রিপ্ট লেখার জন্য 10টি দরকারী এবং ব্যবহারিক টিপস শেয়ার করব এবং সেগুলির মধ্যে রয়েছে:
1. সর্বদা স্ক্রিপ্টে মন্তব্য ব্যবহার করুন
এটি একটি প্রস্তাবিত অনুশীলন যা শুধুমাত্র শেল স্ক্রিপ্টিংয়ের ক্ষেত্রেই নয়, অন্যান্য সমস্ত ধরণের প্রোগ্রামিং-এ প্রয়োগ করা হয়। একটি স্ক্রিপ্টে মন্তব্য লেখা আপনাকে বা অন্য কেউ আপনার স্ক্রিপ্টের মধ্য দিয়ে যেতে সাহায্য করে স্ক্রিপ্টের বিভিন্ন অংশগুলি কী করে তা বুঝতে।
শুরুর জন্য, মন্তব্যগুলি #
ব্যবহার করে সংজ্ঞায়িত করা হয় চিহ্ন।
#TecMint হল সব ধরনের লিনাক্স নিবন্ধের জন্য সেরা সাইট
2. ব্যর্থ হলে একটি স্ক্রিপ্ট প্রস্থান করুন
কখনও কখনও bash একটি স্ক্রিপ্ট চালানো চালিয়ে যেতে পারে এমনকি যখন একটি নির্দিষ্ট কমান্ড ব্যর্থ হয়, এইভাবে বাকি স্ক্রিপ্টগুলিকে প্রভাবিত করে (অবশেষে যৌক্তিক ত্রুটি হতে পারে)। একটি কমান্ড ব্যর্থ হলে একটি স্ক্রিপ্ট থেকে প্রস্থান করতে নীচের লাইনটি ব্যবহার করুন:
#একটি কমান্ড ব্যর্থ হলে স্ক্রিপ্ট প্রস্থান করতে দিন -o errexit ORset -e
3. ব্যাশ যখন অঘোষিত পরিবর্তনশীল
ব্যবহার করে তখন একটি স্ক্রিপ্ট প্রস্থান করুনBash একটি অঘোষিত স্ক্রিপ্ট ব্যবহার করার চেষ্টা করতে পারে যা একটি যৌক্তিক ত্রুটির কারণ হতে পারে। তাই যখন একটি অঘোষিত পরিবর্তনশীল ব্যবহার করার চেষ্টা করে তখন ব্যাশকে স্ক্রিপ্ট থেকে প্রস্থান করার জন্য নির্দেশ দিতে নিম্নলিখিত লাইনটি ব্যবহার করুন:
#আনসেড ভেরিয়েবল সেট -o nounsetORset -u ব্যবহার করা হলে স্ক্রিপ্ট থেকে বেরিয়ে যেতে দিন
4. রেফারেন্স ভেরিয়েবলের জন্য ডাবল কোট ব্যবহার করুন
উল্লেখ করার সময় ডবল উদ্ধৃতি ব্যবহার করা (একটি ভেরিয়েবলের মান ব্যবহার করে) শব্দ বিভাজন (হোয়াইটস্পেস সংক্রান্ত) এবং অপ্রয়োজনীয় গ্লবিং (ওয়াইল্ডকার্ড সনাক্তকরণ এবং প্রসারিত) প্রতিরোধ করতে সহায়তা করে।
নিচের উদাহরণটি দেখুন:
#!/bin/bash#লেট একটি কমান্ড ব্যর্থ হলে স্ক্রিপ্ট প্রস্থান করুন -o errexit #লেট স্ক্রিপ্ট প্রস্থান করুন যদি একটি unsed ভেরিয়েবল ব্যবহার করা হয় set -o nounsetecho "Names without double quotes" echonames="Tecmint FOSSMint Linusay"$ এ নামের জন্য নাম; ইকো করুন "$name"doneechoecho "ডবল কোট সহ নাম" "$names"-এ ইকোফর নাম; ইকো করুন "$name"doneexit 0
ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন, তারপর এটিকে নিম্নরূপ চালান:
$ ./names.sh
5. স্ক্রিপ্টে ফাংশন ব্যবহার করুন
খুব ছোট স্ক্রিপ্ট (কোডের কয়েকটি লাইন সহ) ব্যতীত, আপনার কোডকে মডুলারাইজ করতে এবং স্ক্রিপ্টগুলিকে আরও পাঠযোগ্য এবং পুনঃব্যবহারযোগ্য করতে সর্বদা ফাংশনগুলি ব্যবহার করতে ভুলবেন না৷
ফাংশন লেখার জন্য সিনট্যাক্স নিম্নরূপ:
ফাংশন check_root(){ command1; command2;}ORcheck_root(){ command1; কমান্ড2;}
একক লাইন কোডের জন্য, প্রতিটি কমান্ডের পরে এইভাবে সমাপ্তি অক্ষর ব্যবহার করুন:
check_root(){ command1; কমান্ড2; }
6. স্ট্রিং তুলনার জন্য ==এর পরিবর্তে ব্যবহার করুন
মনে রাখবেন যে ==
=
এর প্রতিশব্দ তাই শুধুমাত্র একটি =
ব্যবহার করুন স্ট্রিং তুলনার জন্য, উদাহরণস্বরূপ:
value1=”tecmint.com”value2=”fossmint.com”if [ "$value1" ="$value2" ]
7. প্রতিস্থাপনের জন্য উত্তরাধিকার 'কমান্ড' এর পরিবর্তে $(কমান্ড) ব্যবহার করুন
কমান্ড প্রতিস্থাপন একটি কমান্ডকে তার আউটপুট দিয়ে প্রতিস্থাপন করে। $(command)
ব্যবহার করুন ব্যাককোট `command`
এর পরিবর্তে কমান্ড প্রতিস্থাপনের জন্য।
এমনকি শেলচেক টুল দ্বারা এটি সুপারিশ করা হয় (শেল স্ক্রিপ্টগুলির জন্য সতর্কতা এবং পরামর্শ দেখায়)। যেমন:
user=`echo “$UID”`user=$(echo “$UID”)
8. স্ট্যাটিক ভেরিয়েবল ঘোষণা করতে শুধুমাত্র পঠন ব্যবহার করুন
একটি স্ট্যাটিক পরিবর্তনশীল পরিবর্তন হয় না; একবার স্ক্রিপ্টে সংজ্ঞায়িত হলে এর মান পরিবর্তন করা যাবে না:
পঠনযোগ্য passwd_file="/etc/passwd"readonly group_file="/etc/group"
9. এনভায়রনমেন্ট ভেরিয়েবলের জন্য বড় হাতের নাম এবং কাস্টম ভেরিয়েবলের জন্য ছোট হাতের নাম ব্যবহার করুন
সমস্ত ব্যাশ এনভায়রনমেন্ট ভেরিয়েবলের নাম বড় হাতের অক্ষর দিয়ে করা হয়েছে, তাই পরিবর্তনশীল নামের দ্বন্দ্ব এড়াতে আপনার কাস্টম ভেরিয়েবলের নাম দিতে ছোট হাতের অক্ষর ব্যবহার করুন:
#লোয়ারকেস ব্যবহার করে কাস্টম ভেরিয়েবল সংজ্ঞায়িত করুন এবং env ভেরিয়েবলের জন্য বড় হাতের অক্ষর ব্যবহার করুন।10. দীর্ঘ স্ক্রিপ্টের জন্য সর্বদা ডিবাগিং সম্পাদন করুন
আপনি যদি হাজার হাজার লাইন কোড সহ ব্যাশ স্ক্রিপ্ট লিখছেন, তাহলে ত্রুটি খুঁজে পাওয়া দুঃস্বপ্ন হয়ে উঠতে পারে। একটি স্ক্রিপ্ট চালানোর আগে জিনিসগুলি সহজে ঠিক করতে, কিছু ডিবাগিং সঞ্চালন করুন। নীচে প্রদত্ত নির্দেশিকাগুলি পড়ে এই টিপটি আয়ত্ত করুন:
- লিনাক্সে কীভাবে শেল স্ক্রিপ্ট ডিবাগিং মোড সক্ষম করবেন
- শেল স্ক্রিপ্টে সিনট্যাক্স চেকিং ডিবাগিং মোড কীভাবে সম্পাদন করবেন
- শেল ট্রেসিং এর মাধ্যমে শেল স্ক্রিপ্টে কমান্ডের এক্সিকিউশন কিভাবে ট্রেস করবেন
এখানেই শেষ! শেয়ার করার জন্য আপনার কি অন্য কোন সেরা ব্যাশ স্ক্রিপ্টিং অনুশীলন আছে? যদি হ্যাঁ, তাহলে তা করতে নীচের মন্তব্য ফর্মটি ব্যবহার করুন৷
৷