English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مجموعات شيل

يمكن تخزين عدة قيم في البنية التحتية. دعم Bash Shell للبنيات التحتية الواحدة فقط (لا يدعم البنيات التحتية المتعددة الأبعاد)، عند التمهيد لا تحتاج إلى تحديد حجم البنية التحتية (مثل PHP).

مثل معظم لغات البرمجة، تبدأ مؤشرات عناصر البنية التحتية من 0.

تستخدم البنية التحتية في Shell بالكوابيس لتقسيم العناصر، وبهيئة النص النصية التالية:

array_name=(value1 value2 ... valuen)

نموذج اون لاين

#!/bin/bash
# author:موقع تعليمية الأساس
# url:ar.oldtoolbag.com
my_array=(A B "C" D)

يمكننا أيضًا استخدام المؤشر لتحديد البنية التحتية:

array_name[0]=value0
array_name[1]=value1
array_name[2]=value2

قراءة البنية التحتية

صيغة قراءة قيمة عنصر البنية التحتية عادةً هي:

${array_name[index]}

نموذج اون لاين

#!/bin/bash
# author:موقع تعليمية الأساس
# url:ar.oldtoolbag.com
my_array=(A B "C" D)
echo "العنصر الأول هو: ${my_array[0]}"
echo "العنصر الثاني هو: ${my_array[1]}"
echo "العنصر الثالث هو: ${my_array[2]}"
echo "العنصر الرابع هو: ${my_array[3]}"

تنفيذ السكربت، والنتائج التالية كالتالي:

$ chmod +x test.sh 
$ ./test.sh
العنصر الأول هو: A
العنصر الثاني هو: B
العنصر الثالث هو: C
العنصر الرابع هو: D

الحصول على جميع العناصر في البنية

يمكن استخدام @ أو * للحصول على جميع العناصر في البنية، مثل:

#!/bin/bash
# author:موقع تعليمية الأساس
# url:ar.oldtoolbag.com
my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D
echo "عناصر البنية هي: ${my_array[*]}"
echo "عناصر البنية هي: ${my_array[@]}"

تنفيذ السكربت، والنتائج التالية كالتالي:

$ chmod +x test.sh 
$ ./test.sh
عناصر البنية هي: A B C D
عناصر البنية هي: A B C D

الحصول على طول البنية

طريقة الحصول على طول البنية مشابهة لطريقة الحصول على طول النص، مثل:

#!/bin/bash
# author:موقع تعليمية الأساس
# url:ar.oldtoolbag.com
my_array[0]=A
my_array[1]=B
my_array[2]=C
my_array[3]=D
echo "عدد عناصر البنية: ${#my_array[*]}"
echo "عدد عناصر البنية: ${#my_array[@]}"

تنفيذ السكربت، والنتائج التالية كالتالي:

$ chmod +x test.sh 
$ ./test.sh
عدد عناصر البنية: 4
عدد عناصر البنية: 4