تحديد عدد عناصر المصفوفة
باستخدام توسيع المعلمة ، يمكننا تحديد عدد العناصر في المصفوفة بنفس طريقة إيجاد طول سلسلة. هنا مثال:
[me @ linuxbox ~] $ أ [100] = فو
[me @ linuxbox ~] $ صدى $ {# a [@]} # عدد عناصر المصفوفة
1
[me @ linuxbox ~] $ صدى $ {# a [100]} # طول العنصر 100
3
[me @ linuxbox ~] $ أ [100] = فو
[me @ linuxbox ~] $ صدى $ {# a [@]} # عدد عناصر المصفوفة
1
[me @ linuxbox ~] $ صدى $ {# a [100]} # طول العنصر 100
3
نخلق مجموعة a وقم بتعيين السلسلة النصية "foo" للعنصر 100. بعد ذلك ، نستخدم توسيع المعلمة لفحص طول المصفوفة ، باستخدام @ الرموز. أخيرًا ، ننظر إلى طول العنصر 100 الذي يحتوي على السلسلة النصية "foo". من المثير للاهتمام ملاحظة أنه بينما قمنا بتعيين السلسلة الخاصة بنا إلى العنصر 100 ، فإن bash يبلغ عن عنصر واحد فقط في المصفوفة. هذا يختلف عن سلوك بعض اللغات الأخرى التي يتم فيها تهيئة العناصر غير المستخدمة للشعاع (العناصر 0-99) بقيم فارغة ويتم عدها. في سحق، لا توجد عناصر المصفوفة إلا إذا تم تخصيص قيمة لها بغض النظر عن الرمز الفرعي الخاص بها.