תוכן עניינים:
- באש בזמן לולאה
- אינסופי בזמן לולאה
- קרא קובץ שורה אחר שורה
- שבור והמשך אמירות
- הצהרת הפסקה
- המשך הצהרה
- סיכום
לולאות הן אחד המושגים הבסיסיים של שפות תכנות. לולאות הן שימושיות כשרוצים להריץ סדרת פקודות מספר פעמים עד למילוי תנאי מסוים.
בשפות סקריפטים כמו Bash, לולאות שימושיות לאוטומציה של משימות חוזרות. ישנם 3 מבני לולאה בסיסיים בתסריטים של באש, לולאה, בזמן לולאה ועד לולאה.
מדריך זה מסביר את היסודות של לולאות בזמן באש, כמו גם את ההפסקה וממשיכים בהצהרות כדי לשנות את זרימת הלולאה.
באש בזמן לולאה
לולאת הזמן משמשת לביצוע קבוצה מסוימת של פקודות מספר לא ידוע של פעמים כל עוד התנאי הנתון מוערך לאמת.
לולאת ה- Bash while לובשת את הצורה הבאה:
while do done
הערכת התנאי לפני ביצוע הפקודות. אם התנאי מוערך לאמת, הפקודות מבוצעות. אחרת, אם התנאי מוערך כשגוי, הלולאה תסתיים ובקרת התוכנית תועבר לפקודה הבאה.
בדוגמה למטה, על כל איטרציה, הלולאה מדפיסה את הערך הנוכחי של המשתנה
i
ומגדילה את המשתנה בזה אחר זה.
i=0 while do echo Number: $i ((i++)) done
לולאה של תריס עוברת כל עוד
i
פחות או שווה משניים. זה יפיק את הפלט הבא:
אינסופי בזמן לולאה
לולאה אינסופית היא לולאה שחוזרת על עצמה ללא הגבלת זמן ולעולם לא מסתיימת. אם התנאי תמיד מוערך נכון הוא מקבל לולאה אינסופית.
בדוגמה הבאה אנו משתמשים בפקודה המובנית
:
שתמיד חוזרת נכונה ליצירת לולאה אינסופית. אתה יכול גם להשתמש בפקודה המובנית
true
או בכל הצהרה אחרת שתמיד חוזרת לאמיתה.
לולאת הפתיחה שלמעלה תפעל ללא הגבלת זמן. ניתן לסיים את הלולאה על ידי לחיצה על
להלן מקבילה בשורה אחת: אחד השימושים הנפוצים ביותר של לולאת הזמן הוא לקרוא קובץ, זרם נתונים או משתנה שורה אחר שורה. בדוגמה הבאה לולאת הזמן תקרא את הקובץ
במקום לשלוט על לולאת הזמן עם תנאי אנו משתמשים בהפניית קלט (
כשקוראים קובץ שורה אחר שורה השתמש תמיד
כברירת מחדל, הפקודה
ניתן להשתמש בהצהרות הפסקה וההמשך כדי לשלוט על ביצוע הלולאה בזמן. הצהרת הפסקה מסיימת את הלולאה הנוכחית ומעבירה את בקרת התוכנית לפקודה העוקבת אחר הלולאה שהסתיימה. בדרך כלל משתמשים בו לסיום הלולאה כאשר מתקיים תנאי מסוים. בדוגמה הבאה, ביצוע הלולאה יופרע ברגע שהפריט המושרש הנוכחי שווה ל
הצהרת המשך יוצאת מהאיטרציה הנוכחית של לולאה ומעבירה את בקרת התוכנית לאיטרציה הבאה של הלולאה. להלן להלן, ברגע שהפריט המושרש הנוכחי יהיה שווה ל
בשלב זה אמורה להיות לך הבנה טובה כיצד להשתמש בבאש בעת לולאה.
while: do echo "Press to exit." sleep 1 done
while: do echo "Press to exit." sleep 1 done
CTRL+C
while:; do echo 'Press to exit.'; sleep 1; done
while:; do echo 'Press to exit.'; sleep 1; done
קרא קובץ שורה אחר שורה
/etc/passwd
שורה אחר שורה ותדפיס כל שורה.
file=/etc/passwd while read -r line; do echo $line done < "$file"
< "$file"
) כדי להעביר קובץ
read
שהיא הפקודה ששולטת בלולאה. לולאת ההפעלה תפעל עד לקריאת השורה האחרונה.
read
עם האפשרות
-r
כדי למנוע סתירה חזרה לפעול כדמות בריחה.
read
חותכת את התווים המובילים / נגררים ברווחיות (רווחים וכרטיסיות). השתמש באפשרות
IFS=
לפני פקודת
read
כדי למנוע התנהגות זו
file=/etc/passwd while IFS= read -r line; do echo $line done < "$file"
שבור והמשך אמירות
הצהרת הפסקה
2
.
i=0 while do echo "Number: $i" ((i++)) if]; then break fi done echo 'All Done!'
המשך הצהרה
2
, הצהרת המשך תגרום לביצוע לחזור לתחילת הלולאה ולהמשיך עם האיטרציה הבאה.
i=0 while do ((i++)) if]; then continue fi echo "Number: $i" done echo 'All Done!'
Number: 1 Number: 3 Number: 4 Number: 5 All Done!
סיכום
האם אתה מפעיל שטח אחסון? זו השאלה אשר תמיד יש לך בראש שלך בעת שמירת נתונים או בעת העברת נתונים על המחשב האישי של Windows. כיום, שטח האחסון הוא אחד הנושאים המרכזיים הרודפים רבים מאיתנו. ללא קשר אם אתה עובד כפרט או בארגון בקנה מידה קטן, מחסור בחלל הוא תמיד בעיה קריטית להתמודד עם. בעת רכישת דיסק קשיח, אתה מודע מאוד כי בעוד כמה חודשים המחשב שלך שוב נגמר שטח.

MeinPlatz
Bas עבור לולאה

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

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