এই আর্টিকেলে ব্যাখ্যা করা হবে Bash-এ $@ কী এবং Bash/Shell স্ক্রিপ্টিং-এ কীভাবে এবং কেন এটি ব্যবহার করা হয়।
$@ ভেরিয়েবলটি Bash-এ একটি বিশেষ ভেরিয়েবল যা স্ক্রিপ্টে পাস করা সকল কমান্ড লাইন আর্গুমেন্ট/প্যারামিটারের মান ধারণ করে।
Bash-এ কমান্ড লাইন আর্গুমেন্ট/প্যারামিটার
শেল স্ক্রিপ্টে কমান্ড-লাইন আর্গুমেন্ট/প্যারামিটার ব্যবহার করা একটি গুরুত্বপূর্ণ এবং কার্যকর ফিচার, তাই আমাদের এটিতে পুরো একটি আর্টিকেল রয়েছে:
এই আর্টিকেলটি শেল/Bash স্ক্রিপ্টে কমান্ড লাইন আর্গুমেন্ট সম্পর্কে আমাদের আর্টিকেল থেকে চালু হয়েছে।
$@ হলো স্ক্রিপ্টে পাস করা সকল প্যারামিটার/আর্গুমেন্ট
$@ কীভাবে কাজ করে তা বোঝার সবচেয়ে সহজ পথ হলো অবশ্যই কিছু উদাহরণ কোড।
নিচের উদাহরণ স্ক্রিপ্টটি সোজা $@ ভেরিয়েবলটির কন্টেন্ট প্রিন্ট করে:
#!/bin/bash echo $@
এই স্ক্রিপ্টটিকে কিছু উদাহরণ আর্গুমেন্ট সহ কল করলে:
sh test.sh "apple" 0 banana 1
নিচের আউটপুট পাওয়া যাবে:
apple 0 banana 1
এটি দেখাচ্ছে যে $@ ভেরিয়েবলটি কেবল স্ক্রিপ্টে পাস করা সকল প্যারামিটারের মান ধারণ করে।
মনে রাখবেন যে কোটেশন মার্কগুলো সরিয়ে ফেলা হয়েছে, কারণ $@-এ প্যারামিটারগুলোর মান থাকে, পাস করা টেক্সট নয়।
পজিশন ১ থেকে সকল পজিশনাল প্যারামিটার অন্তর্ভুক্ত থাকে (পজিশন ০ এ এক্সিকিউট হচ্ছে স্ক্রিপ্টের নাম থাকে এবং এটি বাদ দেওয়া হয়)।
$@ সীমিত ব্যবহারিক ক্ষেত্রের একটি বিশেষ ভেরিয়েবল – পজিশনাল প্যারামিটার ব্যবহার করাই পরামর্শ দেওয়া হয় এবং সেগুলো তাদের উদ্দেশ্য অনুযায়ী ব্যবহার করা উচিত (একটি ভ্যালু এক প্যারামিটারে পাস করা) নাকি $@ ব্যবহার করে আপনার স্ক্রিপ্টে ডেটার ঢের পড়ার চেষ্টা করা এবং নিজে পার্স করার চেষ্টা করা।