9 קלח - Scripting Shell תפשב סקוניל לש "םינתשמ" לע הנבות


.תפטעמ לש םיטפירקס אשונב םירמאמה ףסואל רושיקה הנה .וישכע םג הברה תיטנוולר התייה איהו הפוקת התואב הכרבב הלבקתהש ,סקוניל תפטעמ לש Scripting אשונב םירמאמ תרדס ונבתכ רבכ

    .תפטעמ טפירקסב ותעמטהו ועוציב ,םינתשמה תא הארנ הז רמאמב ןאכ

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

    .האבה הדוקפה תא עצבל ונילע ,'המר' רמוא הנתשמ לע זירכהל ידכ ."ריהצה" bash תדוקפ תועצמאב םירהצומו Shell לש םיטפירקסב שמשמה בושח ביכרמ םה םינתשמ

    $ declare LEVEL

    .BASH -ב שמתשהל ץלמומ ןכלו ,תונוכתה לכ תא הליכמו רתוי תמדקתמ' הריהצה'ה .korn תפטעמ לש תומיאתל תינבומ הרהצה ,"typecast"\-ב שמתשהל ונילע :הרעה

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

      $ LEVEL =

      .-כ 'LEVEL' הנתשמב ןסחואמה ךרעה תא קודב

      $ printf "%i" $LEVEL

      printf, יתנכתמ בורש הדוקפה 'C' םינותנ הסיפדמ ,הל םיעדומ. % i - ב ותוא ףילחהל םילוכי ונא .םלש תא גציימ-% c רובע Character ב וא-% c ךרוצה יפל ,תזורחמ רובע.

      $LEVEL: הנתשמל ךרע ףילחתכ לעופה '$' -ל בל םיש 'LEVEL'.

      $ printf "%i" $LEVEL
      0

      .הנתשמל ךרע הצקה

      $ LEVEL=0

      .הנתשמב םינסחואמה םינותנה תא קודב

      $ printf "%i" $LEVEL
      0

      .הנוש ןפואב תונתשמה תורהצהה ינשב לפטמ זגפ טפירקס ךא םירקמה ינשב ההז טלפהש תורמל .LEVEL 0 'טלפ' הנתשמל '0' ךרעה תא ונצקה רשאכו הנתשמל ךרעה תא ונצקה אל רשאכ ,םירקמה ינשב יכ ןייצל ןיינעמ :הרע

      .הנתשמל שדח ךרע הצקה

      $ LEVEL=121

      .הנתשמב םינסחואמה םינותנה תא קודב

      $ printf "%i" $LEVEL
      121

      .סרהנ הנתשמהש וא רצענ טפירקסהש דע ןורכיזב ראשנ ךכ רצונש הנתשמה .תעצובמ רשאכ קר הנתשמ תרצוי איהו BASH תדוקפ איה הרהצה

      $ unset LEVEL

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

      .BASH לש םיישומיש םינתשמ המכ לש המישר ןלהל

        .םילימה לוציפ ללכ

        $ LEVEL=0
        $ printf "%i" $LEVEL
        0
        
        AND
        
        $ LEVEL=”0”
        $ printf "%i" $LEVEL
        0

        ?טוטיצב שומישה ןמזב האצותב לדבהה המ זא .ההז תראשנ הקופתה םירקמה ינשב

        .םינוש םינתשמ םינותנ םע רבדה ותוא תא קודבל רשפאמ

        $ LEVEL=0 ; 1 ; 2 ; 3 ; 4 ; 5
        bash: 1: command not found 
        bash: 2: command not found 
        bash: 3: command not found 
        bash: 4: command not found 
        bash: 5: command not found
        $ printf "%i" $LEVEL
        0

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

        $ LEVEL=”0 ; 1 ; 2 ; 3 ; 4 ; 5”
        $ printf "%s" $LEVEL 
        0;1;2;3;4;5

        ?ןורתיפה המ זא .םינחבומ םיכרעכ 0,1,2,3,4,5 ושריפ אל printf -ש ןאכמ .םהיניבש םיחוורה לכ תא ריסהו םינתשמה יכרע תא חקל BASH .הנוכנ אל האצותה ןיידע

        printf "%s" "$LEVEL" 
        0 ; 1 ; 2 ; 3 ; 4 ; 5

        .תיתועמשמ הרוצב םידחוימה םיוותה תא תושרפמו הפילקב תויומד תוצבקמ ריחמ תועצה .ןורתיפה איה תואכרמב הנתשמה הפלחהה תבצה !ןכֵּ

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

        $ LEVEL=5 
        $ FLAG_MESSAGE="I HAVE CLEARED LEVEL""$LEVEL"". I Deserve appreciation." 
        $ printf “%s” “$FLAG_MESSAGE”
        “I HAVE CLEARED LEVEL5. I Deserve appreciation.”

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

        $ LEVEL=5
        
        $ FLAG_MESSAGE="I HAVE CLEARED LEVEL ${LEVEL}. I Deserve appreciation." 
        
        $ printf “%s” "$FLAG_MESSAGE" 
        “I HAVE CLEARED LEVEL 5. I Deserve appreciation.”

        .םידחוימ םיוות תספדהמ BASH תא תוליבגמ תודדוב ריחמ תועצה

        $ printf “%s” '$FLAG_MESSAGE'
        “$FLAG_MESSAGE”

        ?(" \) סיפדת ךיא תבשח .תחא תומדל תדדוב ריחמ תעצה ומכ דבוע ירוחא יוטנ

        $ printf "%c" "\""

        .םילימ ןיב חוויר חיטבהל ידכ הלימ לכ ירחא רוחאל יוטנ וק קפסמ ,printf םע םיצבוקמ q %רשאכ

        $ LEVEL=5
        
        $ FLAG_MESSAGE="I HAVE CLEARED LEVEL ${LEVEL}. I Deserve appreciation." 
        
        $ printf “%q” "$FLAG_MESSAGE" 
        “I\ HAVE\ CLEARED\ LEVEL\ 5.\ I\ Deserve\ appreciation.”

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

        .הטמל תובוגתה ףיעסב ךלש רקיה בושמה תא ונל קפסל חכשת לא .linux-console.net -ל רבוחמו ןווכמ ראשיה זא דע