কমান্ড লাইন আর্গুমেন্টগুলি পড়া

Bash:
কমান্ড লাইন আর্গুমেন্টগুলি পড়া

কিভাবে:

#!/bin/bash

# স্ক্রিপ্টের নাম প্রিন্ট করুন।
echo "স্ক্রিপ্টের নাম: $0"

# প্রথম আর্গুমেন্ট প্রিন্ট করুন।
echo "প্রথম আর্গুমেন্ট: $1"

# সমস্ত আর্গুমেন্ট প্রিন্ট করুন।
echo "সমস্ত আর্গুমেন্ট: $@"

ধরুন আপনার স্ক্রিপ্টের নাম ’example.sh’ এবং আপনি ./example.sh arg1 arg2 কল করেছেন:

স্ক্রিপ্টের নাম: ./example.sh
প্রথম আর্গুমেন্ট: arg1
সমস্ত আর্গুমেন্ট: arg1 arg2

আর্গুমেন্টগুলির মধ্যে লুপ করুন:

#!/bin/bash

# প্রত্যেক আর্গুমেন্টের মধ্যে লুপ করুন।
for arg in "$@"; do
  echo "আর্গুমেন্ট: $arg"
done

গভীর ডুব

Bash বহু বছর ধরে কমান্ড লাইন আর্গুমেন্টের সাপোর্ট করে; এগুলি হল পজিশনাল প্যারামিটার, $0 থেকে $9, $@ এবং $* সবকিছু দেখায়। $0 হল খোদ স্ক্রিপ্টটি, $1 থেকে $9 হল প্রথম থেকে নবম আর্গুমেণ্ট; দশম এবং তারপর থেকে ${10} এর মতো ব্রেসগুলির প্রয়োজন।

স্পেস সহ আর্গুমেন্টগুলি সঠিকভাবে হ্যান্ডল করার জন্য $@ ব্যবহার করা সাধারণত $* এর চেয়ে ভাল। $@ প্রতিটি আর্গুমেন্টকে পৃথক “শব্দ” হিসেবে দেয়; $* তাদের সবকিছুকে একটি একক “শব্দ” হিসেবে একত্রিত করে।

shift কমান্ড ব্যবহার করে আর্গুমেন্টের মধ্য দিয়ে সরানো যায়, যা $2 কে $1 এ পরিণত করে, এবং এভাবে আগের $1 কে বাদ দেয়।

বিকল্পগুলি? নিশ্চিত। getopts এবং getopt অপশনগুলির জন্য (যেমন -h সাহায্যের জন্য) এবং পতাকা পারসিংয়ের জন্য আরও নিয়ন্ত্রণ প্রদান করে; $1, $2,… যদি যথেষ্ট না হয় তবে তাদের চেক করুন।

আরও দেখুন