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


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

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

while [ CONDITION ]
do
    code block
done

.האלול ריבחת ךות רבשנ ואוב

    NUMBER=0
    
    while [[ $NUMBER -le 10 ]]
    do
        echo " Welcome ${NUMBER} times "
        (( NUMBER++ ))
    done
    

    .דהה טפשמ תא הסיפדמו 10 -מ הלודג הניא NUMBER דע תעצובמ האלולה רשאכ ,הטושפ דואמ המגוד וז

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

    # SYNTAX
    while read VARIABLE
    do
        code
    done
    

    סקונילב תרנצ

    .' וכו ןוימב שמתשנ ללכ ךרדב

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

    cat /etc/passwd | while read LREAD
    do
        echo ${LREAD}
    done
    

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

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

      head -n 5 /etc/passwd | while read LREAD
      do
          echo ${LREAD}
      done
      

      סקונילב טלק תיינפה

      . (<) טלק הינפהה רוטרפוא תועצמאב האלול ךות לא ץבוקה ןכות תא תונפהל םילוכי ונא

      while read LREAD
      do
          echo ${LREAD}
      done < /etc/passwd | head -n 5
      

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

      FILENAME="/etc/passwd"
      
      while read LREAD
      do
          echo ${LREAD}
      done < ${FILENAME}
      

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

      while read LREAD
      do
          echo ${LREAD}
      done < $1 | head -n 5
      

      ימינפ הדש דירפמ

      .םינתשמב ותוא ןסחאלו ץבוקה ןכות תא לצפל ידכ "(IFS) ימינפ תודש דירפמ"\ב שמתשהל ןתינ ,הז הרקמב .תישיא םאתומ דירפמ ךמס לע ץבוקה ןכות תא לצפל הצרתש ןכתייו (CSV, TXT, JSON) םיצבק לש םיטמרופ ל

      .דרפנ הנתשמב התוא ןסחאלו הרושמ הלימ לכ לצפל ןתינ תעכ . (:) סגה יעמה תא ליכמה etc/passwd/ץבוקב ןנובתה .דבוע הז ךיא םיגדהל יל ןת

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

      while IFS=":" read A B C D E F G
      do
          echo ${A}
          echo ${B}
          echo ${C}
          echo ${D}
          echo ${E}
          echo ${F}
          echo ${G}
      done < /etc/passwd
      

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

      סקונילב םיקיר םיווק

      .(t\-ו n \) החירב יוות המכו 2 הרושב תוינושל יוות ,ררגנ ןבל חוור ,ליבומ ןבל חוור ,תוקיר תורוש טעמו תורוש 4 ןנשי .ןלהלש ןכותה םע המגודל ץבוק יתרצי תאז םיגדהל ידכ .ץבוקה ןכותב רבוע התא רשאכ

      while read LREAD
      do
          echo ${LREAD}
      done < testfile
      

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

      while read LREAD
      do
          if [[ ! -z $LREAD ]]
          then
              echo ${LREAD} 
          fi
      done < testfile
      

      .תוקיר תורושמ ומלעתהש תוארל לוכי התא טלפהמ תעכ

      החירב תויומד

      .החירב יוות טעמ וב שיש המגודל ץבוק ותואב שמתשמ ינא תאז םיגדהל ידכ .ץבוק תאירק תעב וספדוי אל \n , \t , \c ומכ החירב יוות

      while read LREAD
      do
          echo ${LREAD}
      done < testfile
      

      .יוטנ וק לש תונשרפ עונמל ידכ -r -ב שמתשהל לוכי התא .\t \n םוקמב םיספדומ t -ו n קרו םתועמשמ תא ודביא החירב לש םיוות טלפהמ תוארל ןתינ

      while read -r LREAD
      do
          echo ${LREAD}
      done < testfile
      

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