আমি লিনাক্সে বাশ শেল ব্যবহার করছি এবং শেল স্ক্রিপ্টে 10 টিরও বেশি পরামিতি ব্যবহার করতে চাই
আমি লিনাক্সে বাশ শেল ব্যবহার করছি এবং শেল স্ক্রিপ্টে 10 টিরও বেশি পরামিতি ব্যবহার করতে চাই
উত্তর:
এগুলি বন্ধ করতে কোঁকড়া ধনুর্বন্ধনী ব্যবহার করুন:
echo "${10}"
আপনি এর মতো অবস্থানগত পরামিতিগুলিতে পুনরাবৃত্তি করতে পারেন:
for arg
অথবা
for arg in "$@"
অথবা
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}
পরিশ্রমী শুধুমাত্র প্রয়োজনীয় যখন খুব পুরানো বাস্তবায়নের যা মান সঙ্গতিশীল নয় ব্যবহার করে। সম্ভবত কেবল historicalতিহাসিক আগ্রহের ... এবং এখনও আমি এখনও এটি কখনও ব্যবহার করতে পারি না! আমি মনে করি কারণ সর্বোত্তম অনুশীলন হ'ল 10 টি যুক্তি পুনরাবৃত্তি না করা পর্যন্ত অনেক "$@"
বেশি, এক্ষেত্রে আপনি সেগুলি গণনা না করে তাদের দ্বারা পুনরাবৃত্তি করবেন।
আপনার 0 থেকে 255 পর্যন্ত 256 পরামিতি থাকতে পারে:
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1
বা--foo=bar
) ব্যবহার করা ভাল । দেখুনman getopt
,man getopts
এবং এটি করারman bash
জন্য কিছু বিকল্পের জন্য।