לולאה באש באמצעות רשימת מיתרים

Bash Loop Through List Strings



ניתן לחזור על רשימת מחרוזות או מערך או רצף של אלמנטים באמצעות ל לולאה בבאש. כיצד תוכל לחזור על רשימת המחרוזות ב- Bash by for loop מוצג במדריך זה באמצעות דוגמאות שונות של script bash. אם אתה טירון הוא תכנות bash אז אתה יכול לקרוא את ההדרכה על BASH לדוגמאות לולאה לפני שתתחיל במדריך זה.

צור קובץ bash בשם ' for_list1.sh 'והוסף את הסקריפט הבא. ערך מחרוזת עם רווחים משמש בתוך לולאה. כברירת מחדל, ערך המחרוזת מופרד ברווח. For loop יחלק את המחרוזת למילים וידפיס כל מילה על ידי הוספת שורה חדשה.







#!/bin/bash
# קרא מחרוזת עם רווחים באמצעות לולאה
לערךבאני אוהב לתכנת
לַעֲשׂוֹת
זרק ערך $
בוצע

תְפוּקָה:



$לַחֲבוֹטfor_list1.sh



דוגמה 2: איטרציה של משתנה מחרוזת באמצעות לולאה

צור קובץ bash בשם ' for_list2.sh 'והוסף את הסקריפט הבא. הקצה טקסט למשתנה, StringVal וקרא את הערך של משתנה זה באמצעות לולאה. דוגמה זו גם תעבוד כמו הדוגמה הקודמת ותחלק את ערך המשתנה למילים בהתבסס על הרווח.





#!/bin/bash
# הגדר משתנה מחרוזת עם ערך
StringVal='ברוכים הבאים ל- linuxhint'

# חזור על משתנה המחרוזת באמצעות לולאה
לשעותב $ StringVal;לַעֲשׂוֹת
זרק שעות
בוצע

תְפוּקָה:

$לַחֲבוֹטfor_list2.sh



דוגמה 3: הפעל מערך של ערכי מחרוזת

צור קובץ bash בשם ' for_list3.sh 'והוסף את הסקריפט הבא. מערך של ערכי מחרוזת מוכרז עם סוג בסקריפט זה. שני ערכים במערך המכילים שטח הם מנטה של ​​לינוקס ו רד האט לינוקס . סקריפט זה ייצר את הפלט על ידי פיצול ערכים אלה למספר מילים והדפסה כערך נפרד. אבל זה לא הפלט הנכון. הפתרון לבעיה מסוג זה מוצג בדוגמה הבאה.

#!/bin/bash

# הצהיר מערך של מחרוזת עם סוג
לְהַכרִיז StringArray=('לינוקס מנטה' 'פדורה' 'רד האט לינוקס' 'אובונטו' 'דביאן' )

# חזור על מערך המחרוזות באמצעות לולאה
לשעותב $ {StringArray [@]};לַעֲשׂוֹת
זרק שעות
בוצע

תְפוּקָה:

$לַחֲבוֹטfor_list3.sh

דוגמה 4: הדפס ערך מחרוזת של מספר מילים כערך יחיד

צור קובץ bash בשם ' for_list4.sh 'והוסף את הסקריפט הבא. בדוגמה זו, כל אלמנט של משתנה המערך, StringArray מכיל ערכים של שתי מילים. כדי להדפיס כל ערך מבלי לפצל ולפתור את הבעיה של הדוגמה הקודמת, אתה רק צריך לצרף את משתנה המערך ציטוט כפול בתוך לולאה.

#!/bin/bash

# הכריז על מערך מחרוזות עם סוג
לְהַכרִיז StringArray=('Windows XP' 'חלונות 10' 'Windows ME' 'Windows 8.1'
'Windows Server 2016' )

# קרא את ערכי המערך עם שטח
לשעותב '$ {StringArray [@]}';לַעֲשׂוֹת
זרק שעות
בוצע

תְפוּקָה:

$לַחֲבוֹטfor_list4.sh

דוגמה 5: שינוי ערכי מחרוזות של מערך באמצעות '*'

צור קובץ bash בשם ' for_list5.sh 'עם הקוד הבא. כאן, סמל '*' משמש לקריאת כל ערכי המחרוזות של המערך. הראשון ללולאה משמש להצגת ערכי מערך במספר שורות והשני ללולאה משמש להצגת ערכי מערך בשורה אחת.

#!/bin/bash

#הכריז על מערך מחרוזות
LanguageArray=('PHP' 'ג'אווה' 'C #' 'C ++' 'VB.Net' 'פִּיתוֹן' 'פרל')

# הדפס ערכי מערך בשורות
זרק 'הדפס כל אלמנט בשורה חדשה'
לval1ב $ {LanguageArray [*]};לַעֲשׂוֹת
זרק $ val1
בוצע

זרק ''

# הדפס ערכי מערך בשורה אחת
זרק 'הדפס את כל האלמנטים בשורה אחת'
לval2ב '$ {LanguageArray [*]}';לַעֲשׂוֹת
זרק $ val2
בוצע
זרק ''

תְפוּקָה:

$לַחֲבוֹטfor_list5.sh

דוגמה 6: עריכת מחרוזת מופרדת בפסיקים

צור קובץ bash חדש בשם ' for_list6.sh ' עם הקוד הבא. פה, פסיק (,) משמש לפיצול ערכי המחרוזת. IFS משתנה משמש להגדרת מפריד השדות.

#!/bin/bash
DataList='HTML5, CCS3, BootStrap, JQuery'
מפריד שדה=$ IFS

# הגדר פסיק כמפריד שדות פנימי לרשימת המחרוזות
IFS=,
לשעותב $ DataList;
לַעֲשׂוֹת
זרק שעות
בוצע

IFS=$ Field_Separator

תְפוּקָה:

$לַחֲבוֹטfor_list6.sh

דוגמה 7: קריאת מערכי מחרוזות מרובים יחד

צור קובץ bash בשם ' for_list7.sh 'והוסף את הסקריפט הבא. בדוגמה זו, שני מערכי מחרוזות מוגדרים ומשולבים במערך אחר. הלולאה החיצונית משמשת לקריאת המערך המשולב והלולאה הפנימית משמשת לקריאת כל מערך פנימי.

#! /bin/sh
str_array1=('מג'נטו 2.2.4' 'WooCommerce')
str_array2=('CodeIgnitor' 'לאראבל')
לְשַׁלֵב=(str_array1 str_array2)
למנוהלב $ {combine [@]}
לַעֲשׂוֹת
eval 'עבור val ב-' $ {'$ arrItem'[@]}'; עשה הד '$ val'; עשה '
בוצע

תְפוּקָה:

$לַחֲבוֹטfor_list7.sh

דוגמה 8: שימוש בתבנית לקריאת רשימת המחרוזות

צור קובץ bash חדש בשם for_list8.sh עם הקוד הבא. פה, ' /, /' תבנית משמשת לפיצול ערכי המחרוזת על בסיס פסיק.

#! /bin/sh

# הגדר רשימה של משתנה מחרוזת
stringList= וורדפרס, ג'ומלה, מג'נטו

# השתמש בפסיק כמפריד והחל כדפוס
לשעותב $ {stringList //,/}
לַעֲשׂוֹת
זרק שעות
בוצע

תְפוּקָה:

$לַחֲבוֹטfor_list8.sh

מקווה, הדוגמאות של הדרכה זו יעזרו לך להבין את השימוש עבור לולאה לחידוש רשימת המחרוזות, לסרטון בנושא זה, ראה להלן: