תוכן עניינים:
- הבאש הרגיל לולאה
- לולאה מעל מיתרים
- לולאה מעל טווח מספרים
- לולאה מעל רכיבי מערך
- Bas-B בסגנון לולאה
- שבור והמשך אמירות
- הצהרת הפסקה
- המשך הצהרה
- דוגמאות לאש לולאה
- שינוי שם של קבצים עם רווחים בשם הקובץ
- משנה סיומת קבצים
- סיכום
לולאות הן אחד המושגים הבסיסיים של שפות תכנות. לולאות הן שימושיות כשרוצים להריץ שוב ושוב סדרת פקודות עד להגיע לתנאי מסוים.
בשפות סקריפטים כמו Bash, לולאות שימושיות לאוטומציה של משימות חוזרות.
ישנם שלושה מבני לולאה בסיסיים בתסריט Bash, לולאה, בעוד לולאה ועד לולאה.
במדריך זה, נסקור את היסודות של לולאות בבאש. אנו נראה לך כיצד להשתמש בשבירה ולהמשיך בהצהרות כדי לשנות את זרימת הלולאה.
הבאש הרגיל לולאה
הלולאה for לולאה עוברת על רשימת פריטים ומבצעת את מערך הפקודות הנתון.
ה- Bash for loop לובש את הטופס הבא:
for item in do done
הרשימה יכולה להיות סדרה של מחרוזות המופרדות על ידי רווחים, טווח של מספרים, פלט של פקודה, מערך וכן הלאה.
לולאה מעל מיתרים
בדוגמה שלמטה הלולאה תתחלף על כל פריט ברשימת המיתרים והרכיב המשתנה יוגדר לפריט הנוכחי.
for element in Hydrogen Helium Lithium Beryllium do echo "Element: $element" done
הלולאה תפיק את הפלט הבא:
Element: Hydrogen Element: Helium Element: Lithium Element: Beryllium
לולאה מעל טווח מספרים
ניתן להשתמש בביטוי הרצף כדי לציין טווח של מספרים או תווים על ידי הגדרת התחלה ונקודת הסיום של הטווח. ביטוי הרצף לובש את הצורה הבאה:
{START..END}
בדוגמה למטה הלולאה תעבור בין כל המספרים מ- 0 ל- 3.
for i in {0..3} do echo "Number: $i" done
Number: 0 Number: 1 Number: 2 Number: 3
החל מאש 4, ניתן גם לציין תוספת בעת שימוש בטווחים. הביטוי לובש את הצורה הבאה:
{START..END..INCREMENT}
for i in {0..20..5} do echo "Number: $i" done
Number: 0 Number: 5 Number: 10 Number: 15 Number: 20
לולאה מעל רכיבי מערך
אתה יכול גם להשתמש בלולאה for כדי לחזור על מערך של אלמנטים:
בדוגמה שלמטה אנו מגדירים מערך
BOOKS
ומעבירים את כל האלמנטים במערך.
BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby') for book in "${BOOKS}"; do echo "Book: $book" done
Book: In Search of Lost Time Book: Don Quixote Book: Ulysses Book: The Great Gatsby
Bas-B בסגנון לולאה
התחביר של סגנון C לולאה לובש את הצורה הבאה:
for ((INITIALIZATION; TEST; STEP)) do done
החלק
INITIALIZATION
מבוצע רק פעם אחת עם הפעלת הלולאה. לאחר מכן, נבדק חלק
TEST
. אם זה שקר מסתיים לולאת ה- for. אם
TEST
נכונה, הפקודות בגוף של לולאה מבוצעות וחלק ה-
STEP
מתעדכן.
בקוד הבא, הלולאה מככבת על ידי אתחול
i = 0
, לפני כל איטרציה בודקת אם
i ≤ 10
. אם נכון זה מדפיס את הערך הנוכחי של
i
ו-
i
ידי 1 (
i++
) אחרת הלולאה תסתיים.
for ((i = 0; i <= 1000; i++)); do echo "Counter: $i" done
הלולאה תעבור 1001 פעמים ותפיק את הפלט הבא:
Counter: 0 Counter: 1 Counter: 2… Counter: 998 Counter: 999 Counter: 1000
שבור והמשך אמירות
ניתן להשתמש בהצהרות ההפסקה וההמשך כדי לשלוט על ביצוע לולאה.
הצהרת הפסקה
הצהרת הפסקה מסיימת את הלולאה הנוכחית ומעבירה את בקרת התוכנית להצהרה העוקבת אחר ההצהרה שהסתיימה. בדרך כלל משתמשים בו לסיום הלולאה כאשר מתקיים תנאי מסוים.
בדוגמה הבאה אנו משתמשים במשפט if כדי לסיים את ביצוע הלולאה ברגע שהפריט המושרש הנוכחי שווה ל 'ליתיום'.
for element in Hydrogen Helium Lithium Beryllium; do if]; then break fi echo "Element: $element" done echo 'All Done!'
Element: Hydrogen Element: Helium All Done!
המשך הצהרה
הצהרת המשך יוצאת מהאיטרציה הנוכחית של לולאה ומעבירה את בקרת התוכנית לאיטרציה הבאה של הלולאה.
בדוגמה הבאה אנו חוזרים על טווח מספרים וכאשר הפריט המושרש הנוכחי שווה ל '2' הצהרת המשך תגרום לביצוע לחזור לתחילת הלולאה ולהמשיך עם האיטרציה הבאה.
for i in {1..5}; do if]; then continue fi echo "Number: $i" done
Number: 1 Number: 3 Number: 4 Number: 5
דוגמאות לאש לולאה
שינוי שם של קבצים עם רווחים בשם הקובץ
הדוגמה הבאה מראה כיצד להשתמש ב- Bash for loop כדי לשנות את שמם של כל הקבצים בספריה הנוכחית עם רווח בשמותיו על ידי החלפת שטח לקו תחתון.
for file in *\ *; do mv "$file" "${file// /_}" done
בואו נשבר את הקוד שורה אחר שורה:
- השורה הראשונה יוצרת לולאה למצב והיא עוברת ברשימה של כל הקבצים עם רווח על שמו. הביטוי
*\ *
יוצר את הרשימה. השורה השנייה חלה על כל פריט ברשימה ומעבירה את הקובץ לקובץ חדש המחליף את החלל בקו תחתון (_
). החלק${file// /_}
משתמש בהרחבת פרמטר הפגז כדי להחליף דפוס בתוך פרמטר במחרוזת.done
מציין את סוף קטע הלולאה.
משנה סיומת קבצים
הדוגמה הבאה מראה כיצד להשתמש ב- Bash for loop כדי לשנות את שם כל הקבצים המסתיימים ב-.jpeg בספריה הנוכחית על ידי החלפת סיומת הקובץ מ-.jpeg ל-.jpg.
for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg" done
בואו ננתח את הקוד שורה אחר שורה:
- השורה הראשונה יוצרת לולאה למצב והיא עוברת ברשימה של כל הקבצים המסתיימים ב- '.jpeg'. השורה השנייה חלה על כל פריט ברשימה ומעבירה את הקובץ לקובץ חדש המחליף את '.jpeg' ב- '.jpg'..
${file%.jpeg}
להסרת החלק '.jpeg' משם הקובץ באמצעות הרחבת פרמטר הפגזdone
מציין את סוף קטע הלולאה.
סיכום
בשלב זה אמורה להיות לך הבנה טובה כיצד להשתמש בבאש עבור לולאה לאיתור רשימות.
מסוף לולאה bashקמעונאית תציע את 8GB שחור iPhone 3G מודל עבור $ 197, ואת 16GB שחור או מודל לבן עבור $ 297. ספקולציות בחודש שעבר הציע וול מארט תמכור 4GB iPhone 3G עבור $ 99, כך הצעות במחיר גבוה עשוי לבוא כאכזבה כמה קונים פוטנציאליים.

כצפוי, הטלפונים מגיעים עם הסכם שירות חדש של שנתיים AT & T. החל מיום ראשון, לקוחות יוכלו למצוא מידע וסיוע ב- Apple iPhone 3G קיוסקים הממוקם בחנויות הקמעונאיות של וול מארט.
Bas ביז לולאה

בשפות סקריפטים כמו Bash, לולאות שימושיות לאוטומציה של משימות חוזרות. מדריך זה מסביר את היסודות של לולאה עד באש. לולאת עד משמשת לביצוע מערך פקודות נתון כל עוד התנאי הנתון מוערך כשגוי.
בש בעת לולאה

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