ইউনিক্সঃ সেল অ্যারি ব্যবহার করা (Unix – Using Shell Arrays)

রিদওয়ান বিন শামীম

 

সেল ভেরিয়েবল একক মান ধারণে সক্ষম। এই ধরণের ভেরিয়েবল বা চলককে স্কেলার চলক বলে। সেল অ্যারি ভেরিয়েবল নামের ভিন্ন একধরনের চলক সমর্থন করে যারা একসাথে অনেকগুলো মান ধারনে সক্ষম। অ্যারি ভেরিয়েবল চলকের সেট গ্রুপিং এর জন্য একটি পদ্ধতি ব্যবহার করে। চলকের নতুন নাম সৃষ্টির পরিবর্তে,একক অ্যারি ভেরিয়েবল ব্যবহার করা যায় যার মধ্যে অন্য চলকগুলোকে সংরক্ষণ করা যাবে।

 

অ্যারি ভ্যালুর বিবৃতি

অ্যারি ভেরিয়েবল ও স্কেলার ভেরিয়েবলের মধ্যে যে পার্থক্য তা নিচে দেখানো হল,

ধরা যাক কোনও চলকের মধ্যে থাকে কিছু ছাত্রের নাম নিয়ে আমরা কাজ করতে চাই, প্রত্যেকটি স্বতন্ত্র চলক (নিচের মত) একটি করে স্কেলার চলক।


NAME01="Zara"
NAME02="Qadir"
NAME03="Mahnaz"
NAME04="Ayan"
NAME05="Daisy"


 

আমরা এই সবগুলো নাম সংরক্ষণের জন্য একক অ্যারি ব্যবহার করতে পারি। নিচে অ্যারি ভেরিয়েবল তৈরির সহজ একটি উপায় দেয়া হল,


array_name[index]=value


 

এখানে array_name হল অ্যারির নাম, index হল আইটেমের ইনডেক্স আর value হল আইটেমের যে ভ্যালু আমরা সেট করতে চাই। উদাহরণ হিসেবে কম্যান্ডগুলো হল,


NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"

 

ksh সেল ব্যবহার করে থাকলে অ্যারি শুরু করতে যে সিনট্যাক্স ব্যবহার করতে হবে তা হল,


set-A array_name value1 value2... valuen

 

bash সেল ব্যবহার করে থাকলে অ্যারি শুরু করতে যে সিনট্যাক্স ব্যবহার করতে হবে তা হল,


array_name=(value1... valuen)

 

অ্যারি ভ্যালুতে প্রবেশ করা

কোনও অ্যারি ভেরিয়েবল তৈরির পর সেটিতে প্রবেশ করার জন্য কোড,


${array_name[index]}


 

এখানে array_name হল অ্যারির নাম, index হল যে ভ্যালু প্রবেশ করাব তার ইনডেক্স।নিচে একটি সহজ উদাহরণ দেয়া যাক,


#!/bin/sh
 
NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Index: ${NAME[0]}"
echo "Second Index: ${NAME[1]}"

 

যেটির ফলাফল হবে এমন,


$./test.sh
First Index: Zara
Second Index: Qadir


 

অ্যারির সবগুলো আইটেমে আমরা নিচের যেকোনো একটি উপায়ে ঢুকতে পারি,


${array_name[*]}
${array_name[@]}


 

এখানে array_name হল সেই অ্যারির নাম যাতে আমরা ঢুকতে চাই। নিচে এর একটি সরল উদাহরণ দেয়া হল,


#!/bin/sh

NAME[0]="Zara"
NAME[1]="Qadir"
NAME[2]="Mahnaz"
NAME[3]="Ayan"
NAME[4]="Daisy"
echo "First Method: ${NAME[*]}"
echo "Second Method: ${NAME[@]}"


 

এটি যে ফলাফল দেখাবে তা হল,


$./test.sh
First Method: Zara Qadir Mahnaz Ayan Daisy
Second Method: Zara Qadir Mahnaz Ayan Daisy


 

Permanent link to this article: http://bangla.sitestree.com/%e0%a6%87%e0%a6%89%e0%a6%a8%e0%a6%bf%e0%a6%95%e0%a7%8d%e0%a6%b8%e0%a6%83-%e0%a6%b8%e0%a7%87%e0%a6%b2-%e0%a6%85%e0%a7%8d%e0%a6%af%e0%a6%be%e0%a6%b0%e0%a6%bf-%e0%a6%ac%e0%a7%8d%e0%a6%af%e0%a6%ac/

Leave a Reply