10 דוגמאות מגניבות ומדהימות של Bash Loop

10 Dwgm Wt Mgnybwt Wmdhymwt Sl Bash Loop



בשפת התכנות ישנם בעיקר שלושה סוגים של לולאות (for, while, ועד). כל שלושת סוגי הלולאות חשובים בדרכים שונות. אין הרבה הבדל בין לולאות ה-while ל-till, אבל לולאה עובדת בצורה שונה לגמרי משתי אלה. זו הסיבה שאתה יכול להשתמש בלולאות אלה כדי ליצור סקריפטים אינטראקטיביים כמשתמש bash.

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







10 דוגמאות מגניבות ומדהימות של Bash Loop

בחלק זה נסביר דוגמאות שונות ואת הגישות בהן השתמשנו בלולאות.



Seq Command עם Loop ב-Bash

אתה יכול להשתמש בפקודה seq בלולאת for כדי ליצור את רצף המספרים. לדוגמה, יש לך סקריפט bash 'File.sh' המכיל את הקוד הבא:



#!/bin/bash
ל א ב $ ( seq 5 שתיים 25 )
לַעֲשׂוֹת
הֵד 'מספרים של $A הם'
בוצע





תקבל את התוצאה הבאה לאחר ביצוע הסקריפט בטרמינל:

. / file.sh




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

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

#!/bin/bash
ל א ב $ ( ls * .טקסט ) ; לַעֲשׂוֹת
mv $A ( שם בסיס $A .טקסט ) _$ ( תַאֲרִיך % ד % M % ) .טקסט
בוצע


כעת, אתה יכול להפעיל את הסקריפט, והוא ישנה את השם של כל קבצי ה-.txt על ידי הוספת התאריך הנוכחי:

. / MyFile.sh



באופן דומה, אתה יכול לשנות את הסיומות של קובץ באמצעות סקריפט בודד. אז בואו נשנה את סיומת .txt ל-.sh באמצעות הסקריפט הבא:

#!/bin/bash
ל קוֹבֶץ ב * .טקסט; לַעֲשׂוֹת
mv -- ' $file ' '{file%txt}.sh'
בוצע

לאחר ביצוע הסקריפט בטרמינל, תקבל את קבצי ה-.sh ולא .txt:

. / MyFile.sh


Infinite For Loop ב-Bash

כאשר לא מוגדר תנאי סיום בלולאה, זה נקרא לולאה אינסופית. בדוגמה זו של לולאת Bash, נסתכל על האינסוף עבור לולאה ב-bash. הלולאה האינסופית הבאה מוגדרת על ידי נקודה-פסיק כפולה ( ; ; ) ואינה מכילה חלקי התחלה, פעולה או סיום.

הסקריפט שלהלן ימשיך עד שתלחץ על Ctrl+C או הקלד 'quit' כקלט. סקריפט זה ידפיס כל מספר מ-10 עד 50 שניתן כקלט. אחרת, הוא ידפיס 'המספר נמצא מחוץ לטווח'.

#!/bin/bash
#לולאה אינסופית
ל ( ( ; ; ) )
לַעֲשׂוֹת
הֵד 'הזן מספר בין 10 ל-50'
לקרוא נ
אם [ $n == 'לְהַפְסִיק' ]
לאחר מכן
הֵד 'נגמר'
יְצִיאָה 0
לִהיוֹת
אם ( ( $n < 10 || $n > חמישים ) )
לאחר מכן
הֵד 'המספר מחוץ לטווח'
אַחֵר
הֵד 'המספר הוא $n '
לִהיוֹת
בוצע

נתנו 45 ו-23 כניסות חוקיות בסקריפט שלמעלה. לאחר מכן, אנו מדפיסים 2 כקלט אשר אומר בפלט ש'המספר מחוץ לטווח.' לאחר מכן, כדי לסגור את הסקריפט, אנו מקלידים quit כקלט. כאן אתה יכול גם ללחוץ על Ctrl+C כדי לצאת מהלולאה האינסופית.

לולאת שלוש ביטויים בבאש

ידוע משמה של לולאת שלושת הביטויים שהיא כוללת שלושה ביטויים, הנקראים גם ביטויי בקרה. הביטוי הראשון (EXP1) הוא המאתחל, הביטוי השני (EXP2) הוא מבחן הלולאה או התנאי, והביטוי השלישי (EXP3) הוא הביטוי/שלב הספירה. הבה נריץ לולאה של שלושה ביטויים ב-bash:

#!/bin/bash
ל ( ( נ = 5 ; נ > = 1 ; n-- ) )
לַעֲשׂוֹת
הֵד 'סֵפֶר $n '
בוצע

בהפעלת הסקריפט שלעיל, תקבל את הפלט הבא.

לולאה עם מספר תנאים

השתמשנו בלולאת עד עם מספר תנאים בדוגמה הבאה של לולאת bash. בתסריט הזה לקחנו 'm' ו-'n', שני משתנים שהערכים שלהם הם 20 ו-10, בהתאמה, ושמרנו על הגבול של 15. כאן שמנו תנאי 'm' ו- 'n' יחד בלולאה, שבו הלולאה תפעל עד שהערך של 'm' קטן מהגבול ו-'n' גדול מהגבול.

#!/bin/bash
לְהַגבִּיל = חֲמֵשׁ עֶשׂרֵה
M = עשרים
נ = 10
עד [ [ מיליון דולר -לט $ limit || $n -gt $ limit ] ] ;
לַעֲשׂוֹת
הֵד 'אם M = מיליון דולר ואז N = $n '
( ( M-- ) )
( ( n++ ) )
בוצע

אתה יכול לראות שהפעלת הסקריפט שלמעלה תפעל עד שהערכים של 'm' ו- 'n' מגיעים לאותה רמה.

קרא את הקובץ ב-Bash

ב-bash, אתה יכול לקרוא את התוכן של קובץ בכמה דרכים. בדוגמה זו של bash loop, נקרא את תוכן הקובץ דרך שם הקובץ. אנו יכולים להשתמש בסקריפט הבא כדי לקרוא את הקובץ ב-bash:

#!/bin/bash
הֵד 'תוכן הקובץ שהוזן הוא:'
בזמן
לקרוא קַו
לַעֲשׂוֹת
הֵד $line
בוצע < ~מסמכים / Linuxhint.txt

לאחר הפעלת הסקריפט לעיל, תוכל לקרוא את התוכן המלא של הקובץ שהוזן.

כתיבה לקובץ

אתה יכול להשתמש בלולאות בסקריפט כדי לערוך קובץ ישירות מהמסוף. לדוגמה, אם יש לנו קובץ txt 'Example.txt', וברצוננו להוסיף קצת מידע, נוכל להשתמש בסקריפט הבא:


אם תפעיל את הסקריפט לעיל, הוא יבקש ממך להזין את הפרטים:


לאחר שתזין את הפרטים, אנא CTRL + D כדי לשמור את הקובץ ו-CTRL + Z כדי לסיים את התהליך בהצלחה.

שבור והמשך לולאת הצהרות בבאש

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

#!/bin/bash
על אחד = 16
עד שֶׁקֶר
לַעֲשׂוֹת
( ( על אחד-- ) )
אם [ [ $num -eq 13 ] ]
לאחר מכן
לְהַמשִׁיך
אליף [ [ $num - ה 4 ] ]
לאחר מכן
לשבור
לִהיוֹת
הֵד 'LinuxHint= $num '
בוצע

בתסריט הבאש הבא, אתה יכול לראות שכאשר ה-'num' שווה ל-13, הוא מדלג על שאר גוף הלולאה וקופץ לאיטרציה הבאה. באופן דומה, הלולאה תישבר כאשר 'num' קטן או שווה ל-4.


התסריט שלמעלה מראה שהלולאה מתחילה ב-15, נשברת ב-13 וממשיכה עד 5.

חישוב ממוצע בבאש

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

#!/bin/bash
סימנים = '0'
מְמוּצָע = '0'
סְכוּם = '500'
על אחד = '5'
בזמן נָכוֹן ; לַעֲשׂוֹת
הֵד 'הזן את הסימנים שלך או הקש 'q' כדי לבטל' ; לקרוא סימנים;
אם ( ( ' $סימנים ' < '0' ) ) || ( ( ' $סימנים ' > '100' ) ) ; לאחר מכן
הֵד 'אנא הכנס את הסימנים שלך'
אליף [ ' $סימנים ' == 'ש' ] ; לאחר מכן
הֵד 'ציונים ממוצעים הם: $AVERAGE %'
לשבור
אַחֵר
סְכוּם =$ [ $SUM + $סימנים ]
על אחד =$ [ $NUM + 1 ]
מְמוּצָע =$ [ $SUM / $NUM ]
לִהיוֹת
בוצע

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

כאשר הסקריפט לעיל מופעל, הפלט שלך יהיה משהו כזה.

קרא את טיעוני שורת הפקודה ב-Bash

ב-bash, אתה יכול לקרוא ארגומנטים של שורת פקודה בודדת באמצעות לולאות. הסקריפט מדפיס את ערכי הארגומנט המעוצבים. אנו מריצים ארגומנטים של שורת הפקודה ב-bash באמצעות לולאת while בסקריפט הבא. באמצעות זה, תדפיס את הערך המעביר את האפשרות valid ערך הארגומנט בעזרת פקודה בודדת.

#!/bin/bash
בזמן getopts N:F:M: OPT
לַעֲשׂוֹת
מקרה ' ${OPT} '
ב
נ ) שֵׁם = ${OPTARG} ;;
ו ) שם האב = ${OPTARG} ;;
M ) שם אם = ${OPTARG} ;;
* ) הֵד 'לא חוקי'
יְצִיאָה 1 ;;
esac
בוצע
printf 'שֵׁם: $name \n שם האב: $שם אב \n שם אם: $שם אם \n '

לפיכך, אתה יכול להדפיס את ערכי הארגומנט המעוצבים לפלט על ידי הפעלת הסקריפט לעיל ב-bash.

מסיימים

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