أنشئ ملف bash باسم ' for_list1.sh وأضف النص التالي. يتم استخدام قيمة سلسلة مع مسافات داخل حلقة for. بشكل افتراضي ، يتم فصل قيمة السلسلة بمسافة. حلقة For ستقسم السلسلة إلى كلمات وستطبع كل كلمة بإضافة سطر جديد.
#!/bin/bash
# اقرأ سلسلة بها مسافات باستخدام حلقة for
لالقيمةفيأنا أحب البرمجة
فعل
رما - طرد - قذف قيمة دولار
انتهى
انتاج:
$سحقfor_list1.sh
مثال 2: تكرار متغير سلسلة باستخدام حلقة for
أنشئ ملف bash باسم ' for_list2.sh وأضف النص التالي. تعيين نص في المتغير ، StringVal واقرأ قيمة هذا المتغير باستخدام حلقة for. سيعمل هذا المثال أيضًا مثل المثال السابق ويقسم قيمة المتغير إلى كلمات بناءً على المساحة.
#!/bin/bash
# تحديد متغير سلسلة ذات قيمة
StringVal='مرحبًا بكم في linuxhint'
# كرر متغير السلسلة باستخدام حلقة for
لساعةفي $ StringVal؛فعل
رما - طرد - قذف ساعات
انتهى
انتاج:
$سحقfor_list2.sh
مثال 3: كرر مصفوفة من قيم السلسلة
أنشئ ملف bash باسم ' for_list3.sh وأضف النص التالي. تم التصريح عن مصفوفة من قيم السلسلة بالنوع في هذا البرنامج النصي. قيمتان في المصفوفة تحتويان على مسافة هما لينكس النعناع و ريد هات لينكس . سينشئ هذا البرنامج النصي الإخراج عن طريق تقسيم هذه القيم إلى كلمات متعددة والطباعة كقيمة منفصلة. لكن هذا ليس الناتج الصحيح. يظهر حل هذا النوع من المشاكل في المثال التالي.
#!/bin/bash# قم بتعريف مصفوفة سلسلة من النوع
يعلن -إلى StringArray=('لينكس النعناع' 'فيدورا' 'ريد هات لينكس' 'أوبونتو' 'ديبيان' )
# كرر مصفوفة السلسلة باستخدام حلقة for
لساعةفي $ {StringArray [@]}؛فعل
رما - طرد - قذف ساعات
انتهى
انتاج:
$سحقfor_list3.sh
مثال 4: طباعة قيمة سلسلة كلمات متعددة كقيمة واحدة
أنشئ ملف bash باسم ' for_list4.sh وأضف النص التالي. في هذا المثال ، كل عنصر من متغير المصفوفة ، StringArray يحتوي على قيم من كلمتين. لطباعة كل قيمة دون تقسيم وحل مشكلة المثال السابق ، تحتاج فقط إلى إرفاق متغير الصفيف بـ اقتباس مزدوج داخل الحلقة.
#!/bin/bash# قم بتعريف مصفوفة سلسلة من النوع
يعلن -إلى StringArray=('ويندوز إكس بي' نظام التشغيل Windows 10 'Windows ME' 'نظام التشغيل Windows 8.1'
'Windows Server 2016' )
# اقرأ قيم الصفيف مع الفراغ
لساعةفي '$ {StringArray [@]}'؛فعل
رما - طرد - قذف ساعات
انتهى
انتاج:
$سحقfor_list4.sh
مثال 5: تكرار قيم سلسلة لمصفوفة باستخدام '*'
أنشئ ملف bash باسم ' for_list5.sh مع الكود التالي. هنا ، يتم استخدام الرمز '*' لقراءة جميع قيم سلسلة المصفوفة. تُستخدم الحلقة for الأولى لعرض قيم الصفيف في أسطر متعددة ، بينما تُستخدم الحلقة for الثانية لعرض قيم الصفيف في سطر واحد.
#!/bin/bash#Declare سلسلة سلسلة
اللغة=('بي أتش بي' 'جافا' 'C #' 'C ++' 'VB.Net' 'بايثون' 'بيرل')
# طباعة قيم المصفوفة في سطور
رما - طرد - قذف 'طباعة كل عنصر في سطر جديد'
لval1في $ {LanguageArray [*]}؛فعل
رما - طرد - قذف val1 دولار
انتهى
رما - طرد - قذف '
# طباعة قيم المصفوفة في سطر واحد
رما - طرد - قذف 'طباعة جميع العناصر في سطر واحد'
لval2في '$ {LanguageArray [*]}'؛فعل
رما - طرد - قذف val2 دولار
انتهى
رما - طرد - قذف '
انتاج:
$سحقfor_list5.sh
مثال 6: تكرار قيم السلاسل المفصولة بفاصلة
أنشئ ملف bash جديدًا باسم ' for_list6.sh ' مع الكود التالي. هنا، فاصلة (،) يستخدم لتقسيم قيم السلسلة. IFS متغير يستخدم لتعيين فاصل المجال.
#!/bin/bashقائمة البيانات='HTML5، CCS3، BootStrap، JQuery'
فاصل_المجال=IFS دولار
# تعيين الفاصلة كفاصل حقل داخلي لقائمة السلسلة
IFS= ،
لساعةفي $ DataList؛
فعل
رما - طرد - قذف ساعات
انتهى
IFS=$ Field_Separator
انتاج:
$سحقfor_list6.sh
مثال 7: قراءة مصفوفات سلاسل متعددة معًا
أنشئ ملف bash باسم ' for_list7.sh وأضف النص التالي. في هذا المثال ، يتم تعريف صفيفتي سلسلة ودمجهما في مصفوفة أخرى. يتم استخدام حلقة for الخارجية لقراءة المصفوفة المدمجة وتستخدم حلقة for الداخلية لقراءة كل مصفوفة داخلية.
#! / بن / شstr_array1=(ماجنتو 2.2.4 'WooCommerce')
str_array2=('CodeIgnitor' 'Laravel')
يجمع=(str_array1 str_array2)
لتمكنتفي $ {Combined [@]}
فعل
EVAL 'لـ val in' $ {'$ arrItem'[@]}' ؛ نفذ صدى '$ val' ؛ تم '
انتهى
انتاج:
$سحقfor_list7.sh
مثال 8: استخدام النمط لقراءة قائمة السلاسل النصية
قم بإنشاء ملف bash جديد باسم for_list8.sh مع الكود التالي. هنا، '/، /' يستخدم النمط لتقسيم قيم السلسلة على أساس الفاصلة.
#! / بن / ش# تحديد قائمة متغير سلسلة
سلسلة= WordPress و Joomla و Magento
# استخدم الفاصلة كفاصل وطبق كنمط
لساعةفي $ {stringList // ، /}
فعل
رما - طرد - قذف ساعات
انتهى
انتاج:
$سحقfor_list8.sh
نأمل أن تساعدك أمثلة هذا البرنامج التعليمي على فهم استخدام لحلقة لتكرار قائمة السلاسل ، للحصول على مقطع فيديو حول هذا الموضوع ، انظر أدناه: