طريقة استخدام array مع bash
كتب بواسطة مسلم عادل بتاريخ 2008/09/08
المصفوفات (arrays) بصفة مختصرة عبارة عن متغير يحمل أكثر من قيمة بداخله، وأغلب لغات البرمجة (ان لم يكن كلها) تدعم المصفوفات. في هذا الموضوع سنرى كيف يمكن الاستفادة من المصفوفات في Bash
يتم تحديد الـ array في Bash باستخدام declare -a
مثل:
declare -a myarray
بعدها يمكنك البدء بادخال قيمها كالاتي:
myarray[0]=”a”
myarray[1]=”b”
وهكذا….
طبعا ليس شرط ان تدخل احرف، بل يمكنك ادخال اي قيمة تريد.
لعرض قيمة ما:
echo ${myarray[0]}
لحذف قيمة ما:
unset ${myarray[0]}
فيما يلي مثال يوضح هذا كله:
#!/bin/bash
# Written by Muslim Adel Abu-Taha
# Very simple script showing the use of arrays in bashdeclare -a myarray
letters=”a b c d e f g h i j k l m n o p q r s t u v w x y z”
counter=0
for letter in $letters; do
myarray[$counter]=$letter
counter=$[counter+1]
doneecho “Array ‘myarray’ have the following values: ”
echo ${myarray[@]}
echo “————————————————————————–”
echo “Total number of values inside the ‘myarray’ Array is:”
echo ${#myarray[@]}
echo “————————————————————————–”
echo “key = value: ”
x=0
while [ $x -lt ${#myarray[@]} ]; do
echo -n “myarray[$x] = “${myarray[x]} ” ”
if [ $[x%2] = 1 ]; then echo; fi
x=$[x+1]
done
ملاحظة:
السطر: if [ $[x%2] = 1 ]; then echo; fi
هو المسؤل عن عرض كل قيمتين بجنب بعضها، اذا اردت اكثر، بدل الرقم 2 الى اي رقم اخر.
او يمكنك ازالة هذا السطر لطباعة كل قيمة لوحدها في سط