
$i. בשיעור השתמשו בפקודת cut כדי להפיק את הרשימה ממקור הקובץ.echo $i כדי להציג את כל הערכים אחד אחרי השני.מבנה ושמות דיסקים ומחיצות בלינוקס:

הטקסט המלא של הדקות הראשונות בהרצאה «סקריפט עם לולאת for» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
המשך שלנו בנושא לולאות, אני רוצה לדבר איתכם על לולאת פור, F.O.R. בחלק ח' זה המשך של חלק ח' שמדבר על לולאות בכלל, וכבר הזכרנו את הלולאת וייל.
אני רוצה להציג את הלולאה פור, שהיא מאוד מאוד מיוחדת והיא מאוד שונה מלולאת וייל. אני יכול לומר שאני מעריץ גדול של הלולאת פור, ואני אפילו משתמש בה, אני חושב ביום יום, קצת יותר, אני משתמש בלולאת פור קצת יותר מלולאת וייל אפילו והסיבה היא מאוד פשוטה.
ללולאת פור אני לא צריך לתת מספר לכמה פעמים לרוץ. ללולאת פור אני לא צריך לבצע איזה מנגנון, איזה מנוע שיריץ קדימה את האפשרויות. זה כל היופי של לולאת פור.
המנוע של לולאת פור בעצם יכול להיות קובץ טקסט או אפילו משתנה. למה אני מתכוון? איך בעצם לולאת פור עובדת?
לולאת פור עובדת, ולצורך כך כדאי שאני אפתח את הפיינטר שלה, ובכן אציג את זה תכלס, הלכה למעשה. מה בעצם לולאת פור יודעת לעשות עבורנו? לולאת פור יודעת לקבל מאיתנו קובץ עם רשימה, ובעצם מה שהלולאה הזאת יודעה לעשות, מה שהלולאת פור יודעת לעשות, היא יודעת לקבל את הקובץ הזה, והלולאת פור יודעת לספור את השורות בתוך הקובץ
הזה, ובעצם מספר השורות, במקרה שלנו מדובר פה בארבע שורות, אז הלולאה תרוץ ארבע פעמים. כלומר, הפור מקבל את המסמך הזה, הוא יודע להסתכל על הרשימה, ולפי מספר השורות ככה הפור בעצם ירוץ.
הפור ירוץ ארבעה פעמים, או המשימה בתוך הפור, מה שצריך לקרות בתוך הפור, יקרה ארבע פעמים. עכשיו, יותר מזה. הפור יודע גם לקחת את הרשימה הזאתי, והוא יודע כל פעם להכניס שורה מתוך הרשימה הזאתי בתוך משתנה שניתן לו.
הכוונה היא שברגע שניתן לפור, ללולת פור שלנו, ניתן לה מסמך עם ארבע שורות, ה-for ייראה כך, for, בוא נעשה את זה רק באנגלית, for i in for i, ו-i הכוונה, i זה המשתנה שאני רוצה להשתמש בו, in cut הפייל נקודת טקסט שלנו, do, ואז אני אעשה למשל echo $i ו-done.
מה שקורה בעצם זה שהלולאת for הזאתי עכשיו שיצרתי, היא תקבל מנוע של מספר השורות שיש בקובץ הזה, ובנוסף כל שורה בקובץ תיכנס בכל סיבוב, כל פעם שתהיה לולאה, כל לולאה שקורית השורה הבאה תיכנס לתוך ה-I.
אז במקרה של ה-4 שלפניכם פה אני פשוט עושה אקו של הדולר I כדי להציג לכם את כל שורה ושורה. אולי בשניות האלה זה לא נראה לכם כמו משהו מטורף ומגניב, תאמינו לי זה מגניב ומטורף.
בואו נראה את זה הלכה למעשה. אז בואו נתחיל מדבר טריוויאלי ביותר, בואו נתחיל ממצב שבו, בואו נתחיל ממצב שבו יש לנו קובץ עם רשימה, למשל קובץ עם רשימה של שרתים לצורך העניין, אוקיי?
בואו נתחיל בעבודה עם רשימה, עכשיו נראה רק לשמור את הקובץ הזה, v i, בעצם אני חושב שכבר היה לנו פה רשימה איפשהו של שרתים, לא ls מינוס l, אני חושב שהיה לנו פה רשימה, כן, server list, אוקיי?
server list, בואו נראה, אז פה אם אתם רוצים, אם אתם יכולים לראות, אני רוצה ממש שזה יעבוד לנו יפה, אז בואו נעשה גם כתובת IP 192.168.1.138.192.168.1.144.
הנה רשימה של שרתים שיש לי, והמון המון המון המון המון פעמים אני משתמש בפור כשיש לי רשימה של פורטים, רשימה של סרוויסיז, רשימה של שרתים, רשימה של כתובות IP, רשימה של קבצים, רשימה של תיקיות.
זה בשימוש ממש ממש נרחב. אז יש לי את אותה רשימה של שרתים ואנחנו צריכים לעשות משהו על כל השרתים האלה. אז איך אני עושה את זה? אז קודם כל, אחד הדברים המגניבים בפור, אני לא צריך לזכור מה מספר השרתים שיש לי שם, לא צריך לבדוק את זה אפילו.
הפור עושה את זה בעצמו. אני גם לא צריך מניפולציות לתת לפור כל פעם שורה חדשה, כי גם את זה הוא עושה בעצמו. לכן זה דבר שהוא ממש יוצא מן הכלל. בואו נחזור לערוך את לארוך את הסקריפט 10 שלנו ובואו נעשה את הדבר הבא. בואו נראה עכשיו שהשלב הראשוני עובד.
ch mode 10 ובואו נפעיל את הסקריפט שלנו והסקריפט מספר לי תשמע אנחנו הולכים עכשיו להפעיל את ה.. אנחנו הולכים ל.. the script is about to run to use this list and I'm looking at the list בואו נערוך את הקובץ הזה עוד פעם אוקיי זה חלק רק שנייה אחת פה שימו לב שלא צריך פה משתנה ולא שום דבר אנחנו נשתמש במשתנה שיקבל בעצמו
את המנוע מתוך הקובץ ואת המידע את ה-content for i in הסימן הזה הקטן של ה ליד ה-tilda cut כלומר תציג את ה-serverlist.h.txt סוגר את זה דרך אגב טיפ קטן כל פעם שהראתי לכם do ו-then שמתם לב ששמתי נקודה פסיק ואז עשיתי do או-then נכון אם בא לכם אתם יכולים גם לעשות פשוט לעשות enter ולרדת שורה וישר לרשום do, יש כאלה שאוהבים את זה יותר כי זה נראה
יותר כמו פיתוח של תוכנה כזה, ממש כמו תוכנית, לא אכפת לי שתעשו את זה, ואז לא צריך את הנקודה פסיק. ping -c פעם אחת לדולר i. הבנתם את הרעיון? ה-i כל פעם יקבל שורה אחרת מהקובץ.
שורה אחרת, הכוונה שם שרת או IP. done, that's it. for i, בשביל i, in server list, בעזרת cut, האוטפוט הזה יישלח לתוך ה-4 וכל פעם שתהיה שורה חדשה ה-i ישתנה.
בואו נעשה עכשיו, נפעיל את הסקריפט ומה קרה לנו פה? זה היה מהיר מאוד, כמובן הוא עשה פינג פעם אחת, פינג פעם שנייה, פינג פעם שלישית, נגמר הסיפור, אוקיי?
כמובן בהתחלה הוא הציג לנו את הרשימה של ההוסטים שהוא הולך לעשות עליהם פינג, בואו נעשה את זה טיפה יותר איטי בשבילנו, אז קודם כל בואו נכניס פה ככה בשביל הכיף, אקו כמה כמה רווחיים נכון אולי אפילו הייתי עושה איזה אקו קטן ככה עם רשימה ככה נחמדה מה אתם אומרים ואז פה הייתי מכניס איזה סליפ של איזה שלוש שניות מה אתם אומרים פשוט הוספתי
קצת רווחים כדי שיהיה נחמד כזה כזה אאוטפוט כזה מגניב ואז אני עושה פינג כל פעם פינג למשהו אחר וגם הוספתי סליפ כדי שנוכל להסתכל שאכן זה רץ כל פעם על איי-די אחר אני יודע שאתם מאמינים לי אבל בכל זאת מריצים אז הוא מספר לי מה הולך לקרות ואז הוא מריץ פינג אחד, נח מריץ פינג אחרי,