কম্পিউটার টিউটোরিয়াল

মাস্টার বাশ স্ক্রিপ্টিং: বিশ্বস্ত লিনাক্স অটোমেশনের জন্য ১০ অপরিহার্য টিপস

শেল স্ক্রিপ্টিং লিনাক্সে শিখতে/করা সবচেয়ে সহজ প্রোগ্রামিং রূপ। আরও বেশি, সিস্টেম অ্যাডমিনিস্ট্রেশনের জন্য এটি একটি অপরিহার্য দক্ষতা কাজগুলো অটোমেট করতে, নতুন সিম্পল ইউটিলিটি/টুলস ডেভেলপ করতে শুধু উদাহরণস্বরূপ বলতে গেলে।

এই আর্টিকেলে, আমরা কার্যকর এবং বিশ্বস্ত বাশ স্ক্রিপ্ট লিখার জন্য ১০টি উপকারী এবং প্র্যাকটিক্যাল টিপস শেয়ার করব এবং সেগুলো হলো:

১. স্ক্রিপ্টে সর্বদা কমেন্ট ব্যবহার করুন

এটি একটি সুপারিশকৃত অভ্যাস যা শুধু শেল স্ক্রিপ্টিংয়ের জন্য নয়, সব প্রকার প্রোগ্রামিংয়ের জন্য প্রযোজ্য। একটি স্ক্রিপ্টে কমেন্ট লেখা আপনাকে বা অন্য কেউ যারা আপনার স্ক্রিপ্ট পড়ছে তাদেরকে স্ক্রিপ্টের বিভিন্ন পার্ট কী করে তা বুঝতে সাহায্য করে।

শুরুতে, কমেন্ট হল # চিহ্ন দিয়ে ডিফাইন করা।

#TecMint Linux আর্টিকেলের সবচেয়ে সেরা সাইট 

২. ফেইল হলে স্ক্রিপ্ট এক্সিট করান

কখনও কখনও বাশ একটি কমান্ড ফেইল করলেও স্ক্রিপ্ট এক্সিকিউট করা চালিয়ে যেতে পারে, ফলে স্ক্রিপ্টের বাকি অংশ প্রভাবিত হয় (এবং অবশেষে লজিক্যাল এরর হতে পারে)। একটি কমান্ড ফেইল করলে স্ক্রিপ্ট এক্সিট করতে নিচের লাইনটি ব্যবহার করুন:

#let script exit if a command fails set -o errexit OR set -e 

৩. বাশ অঘোষিত ভেরিয়েবল ব্যবহার করলে স্ক্রিপ্ট এক্সিট করান

বাশ একটি অঘোষিত স্ক্রিপ্ট ব্যবহার করার চেষ্টা করতে পারে যা লজিক্যাল এরর করতে পারে। তাই বাশকে একটি অঘোষিত ভেরিয়েবল ব্যবহার করার চেষ্টা করলে স্ক্রিপ্ট এক্সিট করার নির্দেশ দিতে নিচের লাইনটি ব্যবহার করুন:

#let script exit if an unsed variable is used set -o nounset OR set -u 

৪. ভেরিয়েবল রেফারেন্স করার জন্য ডবল কোটেশন ব্যবহার করুন

ভেরিয়েবল রেফারেন্স করার সময় (একটি ভেরিয়েবলের মান ব্যবহার করার সময়) ডবল কোটেশন ব্যবহার করা ওয়ার্ড স্প্লিটিং (হোয়াইটস্পেস সম্পর্কে) এবং অপ্রয়োজনীয় গ্লবিং (ওয়াইল্ডকার্ড রিকগনিশন এবং এক্সপ্যানশন) প্রতিরোধ করতে সাহায্য করে।

নিচের উদাহরণটি চেক করুন:

#!/bin/bash #let script exit if a command fails set -o errexit #let script exit if an unsed variable is used set -o nounset echo "Names without double quotes" echo names="Tecmint FOSSMint Linusay" for name in $names; do echo "$name" done echo echo "Names with double quotes" echo for name in "$names"; do echo "$name" done exit 0 

ফাইলটি সংরক্ষণ করুন এবং বেরিয়ে আসুন, তারপর নিচের মত করে চালান:

$ ./names.sh 
মাস্টার বাশ স্ক্রিপ্টিং: বিশ্বস্ত লিনাক্স অটোমেশনের জন্য ১০ অপরিহার্য টিপস

৫. স্ক্রিপ্টে ফাংশন ব্যবহার করুন

খুব ছোট স্ক্রিপ্ট (কয়েক লাইন কোড সহ) বাদে, সবসময় মনে রাখবেন আপনার কোড মডুলারাইজ করতে এবং স্ক্রিপ্টগুলো আরও পঠনযোগ্য এবং রিযুজেবল করতে ফাংশন ব্যবহার করতে হবে।

ফাংশন লেখার সিনট্যাক্স নিচের মত:

function check_root(){ command1; command2; } OR check_root(){ command1; command2; } 

সিঙ্গল লাইন কোডের জন্য, প্রতিটি কমান্ডের পর টার্মিনেশন ক্যারেক্টার ব্যবহার করুন এইভাবে:

check_root(){ command1; command2; } 

৬. স্ট্রিং কমপেরিজনের জন্য == এর পরিবর্তে = ব্যবহার করুন

মনে রাখবেন == হল =-এর একটি সিনোনিম, তাই স্ট্রিং কমপেরিজনের জন্য শুধু একক = ব্যবহার করুন, উদাহরণস্বরূপ:

value1=”tecmint.com” value2=”fossmint.com” if [ "$value1" = "$value2" ] 

৭. লিগ্যাসি ‘command’ এর পরিবর্তে $(command) ব্যবহার করুন সাবস্টিটিউশনের জন্য

কমান্ড সাবস্টিটিউশন একটি কমান্ডকে এর আউটপুট দিয়ে রিপ্লেস করে। কমান্ড সাবস্টিটিউশনের জন্য ব্যাককোট `command` এর পরিবর্তে $(command) ব্যবহার করুন।

এটি শেলচেক টুলও সুপারিশ করে (শেল স্ক্রিপ্টের জন্য সতর্কতা এবং সাজেশন দেখায়)। উদাহরণস্বরূপ:

user=`echo “$UID”` user=$(echo “$UID”) 

৮. স্ট্যাটিক ভেরিয়েবল ডিক্লেয়ার করতে Read-only ব্যবহার করুন

একটি স্ট্যাটিক ভেরিয়েবল পরিবর্তন হয় না; একবার স্ক্রিপ্টে ডিফাইন হলে এর মান পরিবর্তন করা যাবে না:

readonly passwd_file=”/etc/passwd” readonly group_file=”/etc/group” 

৯. ENVIRONMENT ভেরিয়েবলের জন্য আপারকেস নাম এবং কাস্টম ভেরিয়েবলের জন্য লোয়ারকেস ব্যবহার করুন

সকল বাশ এনভায়রনমেন্ট ভেরিয়েবলের নাম আপারকেস অক্ষরে থাকে, তাই আপনার কাস্টম ভেরিয়েবলের নাম লোয়ারকেস অক্ষরে রাখুন ভেরিয়েবল নাম কনফ্লিক্ট এড়াতে:

#define custom variables using lowercase and use uppercase for env variables nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl” perl “$nikto_file” -h “$1” 

১০. লম্বা স্ক্রিপ্টের জন্য সবসময় ডিবাগিং করুন

যদি আপনি হাজার হাজার লাইন কোডের বাশ স্ক্রিপ্ট লিখেন, ত্রুটি খুঁজে বের করা দ্যাশপনার হতে পারে। একটি স্ক্রিপ্ট এক্সিকিউট করার আগে সহজে জিনিসপত্র ঠিক করতে, কিছু ডিবাগিং পারফর্ম করুন। এই টিপস মাস্টার করতে নিচের গাইডগুলো পড়ুন:

  1. লিনাক্সে শেল স্ক্রিপ্ট ডিবাগিং মোড সক্ষম করা
  2. শেল স্ক্রিপ্টে সিনট্যাক্স চেকিং ডিবাগিং মোড পারফর্ম করা
  3. শেল ট্রেসিং দিয়ে শেল স্ক্রিপ্টে কমান্ড এক্সিকিউশন ট্রেস করা

এই পর্যন্ত! আপনার কি অন্য কোনো সেরা বাশ স্ক্রিপ্টিং প্র্যাকটিস শেয়ার করতে есть? হ্যাঁ হলে নিচের কমেন্ট ফর্ম ব্যবহার করে তা করুন।


  1. লিনাক্স টার্মিনাল মাস্টার করার জন্য অপরিহার্য বাশ কমান্ডস ও টিপস

  2. লিনাক্সে সিম্পল শেল স্ক্রিপ্ট মাস্টার করুন: ধাপে ধাপে গাইড

  3. মাস্টার বাশ: অপরিহার্য লিনাক্স কমান্ড লাইন শর্টকাট

  4. আপনার iPhone X মাস্টার করার ৯টি অপরিহার্য টিপস