وثائق لينوكس العربية

طريقة استخدام 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 bash

declare -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]
done

echo “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 الى اي رقم اخر.
او يمكنك ازالة هذا السطر لطباعة كل قيمة لوحدها في سط

, , , ,

أكتب تعليق

هل تبحث عن شيء؟

إستخدم النموذج التالي للبحث:

مواقع أنصح بها!

أنصح بزيارة المواقع التالية:

الأرشيف

ستجد هنا أرشيف المقالات السابقة: