আর্গুমেন্ট হ্যান্ডলিং এবং অ্যারে (Argument Handling and Arrays)
আর্গুমেন্ট হ্যান্ডলিং এবং অ্যারেগুলি লিনাক্স/ইউনিক্স শেল স্ক্রিপ্টিংয়ের একটি গুরুত্বপূর্ণ দিক। এর মাধ্যমে আপনি স্ক্রিপ্টে ইনপুট আর্গুমেন্টগুলি গ্রহণ করে তাদের সাথে কাজ করতে পারেন এবং সেই আর্গুমেন্টগুলির মাধ্যমে আপনার স্ক্রিপ্টের কার্যকারিতা কাস্টমাইজ করতে পারেন।
এছাড়া, অ্যারেগুলি (arrays) ব্যবহারের মাধ্যমে আপনি একাধিক মান সঞ্চয় করতে এবং সেই মানগুলির উপর কাজ করতে পারেন, যা শেল স্ক্রিপ্টিংয়ে আরো শক্তিশালী এবং কার্যকরী ফিচার প্রদান করে।
1. আর্গুমেন্ট হ্যান্ডলিং (Argument Handling)
শেল স্ক্রিপ্টে আর্গুমেন্ট হলো স্ক্রিপ্ট চালানোর সময় প্রেরিত ডেটা বা ইনপুট, যেগুলি সাধারণত কমান্ড লাইন থেকে পাস করা হয়। শেল স্ক্রিপ্টে আর্গুমেন্ট গ্রহণ করার জন্য স্ক্রিপ্টে বিশেষ ভ্যারিয়েবল ব্যবহার করা হয়, যেমন $1, $2, ..., $n, যেখানে প্রতিটি সংখ্যা একটি আলাদা আর্গুমেন্ট নির্দেশ করে।
আর্গুমেন্ট হ্যান্ডলিং উদাহরণ:
ধরা যাক, আমাদের একটি স্ক্রিপ্ট greet.sh আছে, যা প্রথম আর্গুমেন্টকে একটি নাম হিসেবে ব্যবহার করবে এবং স্ক্রিপ্টে ব্যবহারকারীর জন্য একটি শুভেচ্ছা বার্তা প্রদর্শন করবে।
greet.sh:
#!/bin/bash
# প্রথম আর্গুমেন্টে নাম থাকবে
echo "Hello, $1! Welcome to the system."এখন যদি আপনি এই স্ক্রিপ্টটি চালান:
./greet.sh Aliceআউটপুট হবে:
Hello, Alice! Welcome to the system.এখানে $1 প্রথম আর্গুমেন্ট Alice এর মান গ্রহণ করেছে এবং সেটিকে স্ক্রিপ্টে ব্যবহার করেছে।
বিশেষ আর্গুমেন্ট ভ্যারিয়েবল:
$0: স্ক্রিপ্টের নাম।$1,$2, ...,$n: স্ক্রিপ্টে প্রেরিত আর্গুমেন্ট (যতটা আর্গুমেন্ট দেওয়া হবে, ততটা সংখ্যা নির্ধারিত হবে)।$#: স্ক্রিপ্টে মোট আর্গুমেন্টের সংখ্যা।$@: সমস্ত আর্গুমেন্ট (একাধিক আর্গুমেন্টকে আলাদা আলাদা ভাবে ট্রিট করা হয়)।$*: সমস্ত আর্গুমেন্ট একক স্ট্রিং হিসেবে ট্রিট করা হয়।
উদাহরণ:
#!/bin/bash
echo "Total arguments: $#"
echo "All arguments: $@"যদি স্ক্রিপ্টটি এমনভাবে চালানো হয়:
./myscript.sh arg1 arg2 arg3আউটপুট হবে:
Total arguments: 3
All arguments: arg1 arg2 arg32. অ্যারেগুলি (Arrays)
অ্যারেগুলি হল একাধিক মান সংরক্ষণ করার জন্য একটি ডাটা স্ট্রাকচার, যা শেল স্ক্রিপ্টে ব্যবহার করা যেতে পারে। লিনাক্স শেল স্ক্রিপ্টে অ্যারেগুলির মান সংরক্ষণ এবং পরিচালনা করার জন্য বিশেষ সিনট্যাক্স ব্যবহার করা হয়।
অ্যারে তৈরি এবং ব্যবহারের উদাহরণ:
- অ্যারেতে মান যোগ করা:
শেল স্ক্রিপ্টে অ্যারে তৈরি করতে, সাধারণত () চিহ্নের মধ্যে মানগুলো নির্দিষ্ট করা হয়।
array.sh:
#!/bin/bash
# অ্যারে তৈরি করা
fruits=("apple" "banana" "cherry")
# অ্যারের একটি মান ব্যবহার করা
echo ${fruits[0]} # আউটপুট হবে: appleএখানে, fruits নামক অ্যারেতে তিনটি মান apple, banana, এবং cherry রাখা হয়েছে। ${fruits[0]} দিয়ে প্রথম মান (যেমন apple) অ্যাক্সেস করা হয়।
- অ্যারেতে সমস্ত মান একসাথে ব্যবহার করা:
অ্যারের সমস্ত মান একসাথে ব্যবহার করতে @ বা * ব্যবহার করা হয়।
#!/bin/bash
# অ্যারে তৈরি করা
fruits=("apple" "banana" "cherry")
# সমস্ত মান প্রিন্ট করা
echo ${fruits[@]} # আউটপুট হবে: apple banana cherry- অ্যারেতে মানের সংখ্যা জানা:
অ্যারেতে কতটি মান আছে তা জানতে ${#array[@]} ব্যবহার করা হয়।
#!/bin/bash
# অ্যারে তৈরি করা
fruits=("apple" "banana" "cherry")
# অ্যারের সদস্য সংখ্যা
echo "Total fruits: ${#fruits[@]}" # আউটপুট হবে: Total fruits: 3- অ্যারেতে একটি নতুন মান যোগ করা:
#!/bin/bash
# অ্যারে তৈরি করা
fruits=("apple" "banana" "cherry")
# নতুন মান অ্যারেতে যোগ করা
fruits+=("orange")
# নতুন মান প্রিন্ট করা
echo ${fruits[@]} # আউটপুট হবে: apple banana cherry orange3. আর্গুমেন্ট হ্যান্ডলিং এবং অ্যারে একসাথে ব্যবহার করা
আর্গুমেন্ট হ্যান্ডলিং এবং অ্যারেগুলি একসাথে ব্যবহার করে, আপনি স্ক্রিপ্টের মধ্যে প্রাপ্ত আর্গুমেন্টগুলি অ্যারেতে সংরক্ষণ করতে পারেন এবং পরে সেগুলির উপর কাজ করতে পারেন।
args_to_array.sh:
#!/bin/bash
# আর্গুমেন্টগুলি একটি অ্যারেতে সংরক্ষণ করা
args=("$@")
# অ্যারের মান প্রদর্শন করা
echo "Arguments are: ${args[@]}"
# অ্যারের সদস্য সংখ্যা
echo "Total arguments: ${#args[@]}"এটি স্ক্রিপ্টে পাস করা সমস্ত আর্গুমেন্ট একটি অ্যারেতে সংরক্ষণ করবে এবং পরবর্তী সময়ে সেগুলির উপর কাজ করবে।
উদাহরণ:
./args_to_array.sh one two three fourআউটপুট:
Arguments are: one two three four
Total arguments: 4সারসংক্ষেপ
- আর্গুমেন্ট হ্যান্ডলিং লিনাক্স শেল স্ক্রিপ্টের মাধ্যমে স্ক্রিপ্টে ইনপুট গ্রহণ করার একটি প্রক্রিয়া, যা
$1,$2, ...,$n,$@,$#ইত্যাদি ব্যবহার করে করা হয়। - অ্যারেগুলি শেল স্ক্রিপ্টে একাধিক মান সংরক্ষণের জন্য ব্যবহৃত হয় এবং এগুলির উপরে কাজ করার জন্য
@,#,+=অপারেটর ব্যবহার করা হয়। - আর্গুমেন্ট হ্যান্ডলিং এবং অ্যারেগুলি একসাথে ব্যবহার করে স্ক্রিপ্টের কার্যকারিতা আরও গতিশীল এবং কাস্টমাইজ করা যায়, বিশেষ করে যখন আপনি স্ক্রিপ্টে একাধিক ইনপুট বা ডেটা সংরক্ষণ করতে চান।
এভাবে আপনি আর্গুমেন্ট এবং অ্যারে ব্যবহার করে শেল স্ক্রিপ্টকে আরও কার্যকরী ও উপযোগী করে তুলতে পারেন।
Read more