সর্বোত্তম উপায় হ'ল অবস্থান আর্গুমেন্ট হিসাবে পাস করা। আর কিছু না. আপনি স্ট্রিং হিসাবে পাস হতে পারে, কিন্তু এই উপায় কিছু ঝামেলা হতে পারে। উদাহরণ:
array=(one two three four five)
function show_passed_array(){
echo $@
}
অথবা
function show_passed_array(){
while $# -gt 0;do
echo $1;shift
done
}
show_passed_array ${array[@]}
আউটপুট:
one two three four five
আপনার অর্থ যদি অ্যারের মানটিতে স্থান চিহ্ন থাকে তবে আপনাকে ফাংশনটিতে সূচক দ্বারা মান অ্যাক্সেসের জন্য পাসের আগে উপাদানগুলির উদ্ধৃতি দিতে হবে $ 1 $ 2 $ 3 ... অবস্থানের পরামিতি। যেখানে সূচি 0 -> 1, 1 -> 2, ... অ্যাক্সেসের পুনরাবৃত্তি করতে সর্বদা $ 1 এবং শিফটের পরে ব্যবহার করা ভাল। অতিরিক্ত কিছু প্রয়োজন হয় না। আপনি এই জাতীয় কোনও অ্যারে ছাড়াই যুক্তিগুলি পাস করতে পারেন:
show_passed_array one two three four five
বাশ মিডিয়া স্বয়ংক্রিয়ভাবে পাস হওয়া আর্গুমেন্টগুলি থেকে একটি অ্যারে তৈরি করে যা সেগুলি ফাংশনে পাস করে এবং তারপরে আপনার অবস্থান আর্গুমেন্ট থাকে। তবুও আপনি যখন write {অ্যারে [2] write লিখেন তখন আপনি সত্যিকার অর্থে যুক্তিযুক্ত যুক্তিটি লিখুন এবং তিনটি চারটি ফাংশনে পৌঁছে দিন। সুতরাং সেই কলগুলি সমান।