פּראָגראַממינג אין באַש - טייל 3

פאַר זיכער אונדזער קאָנסעפּץ מיר וועלן לערנען 2 זייער נוציק מכשירים פֿאַר פּראָגראַממינג וואָס אַרבעט בישליימעס אין Bash. לערן צו שאַפֿן פאַנגקשאַנז און דעפינירן פּייפּליינז קען ויסקומען קאָמפּלעקס אין ערשטער, אָבער מיר וועלן זען דעם גוואַלדיק נוצן אַז זיי צושטעלן אונדז.

פּייפּס

ספּאַסיפיקלי, און אָן אַ פּלאַץ פון טורנס, אַ רערנ - ליניע איז אַ מעטאָד וואָס אַלאַוז דער רעזולטאַט פון איין פּראָצעס ווי די אַרייַנשרייַב פון אנדערן, וואָס אַלאַוז אַ סעריע פון ​​אַדוואַנטידזשיז, אַזאַ ווי רידוסינג שורות פון קאָד, דיספּענסינג סטאָרידזש וועריאַבאַלז פֿאַר רעזולטאַטן און ימפּרוווינג די עפעקטיווקייַט פון די שריפט.

א רער איז בכלל דערקענט דורך די סימבאָל | אַז אַלאַוז צו קאַנקאַטאַנייט אויסדרוקן; כאָטש עס איז געניצט דורך פעליקייַט, עס זענען אנדערע וועגן צו שאַפֿן פּייפּס.

בייַשפּיל: דרוקן לעצטע קערנעל אַרטיקלען

#dmesg אַלאַוז איר צו זען לעצט קערנעל אַרטיקלען און לאָודיד דריווערס # בעשאַס סיסטעם שטיוול; עק פּרינץ די לעצטע פּאַרץ פון אַ טעקע אָדער # command

dmesg | עק

כאָטש זיי קענען זיין קאָמפּליצירט ווי פיל ווי מיר וועלן, די יקערדיק סטרוקטור פון אַ רערנ - ליניע אַלאַוז די רעזולטאַט פון איין באַפֿעל צו זיין ינפּוטאַד צו דער ווייַטער, וואָס קענען צושטעלן ינפּוט פֿאַר אַ נייַ באַפֿעל אויב מיר האַלטן אַ קאָנסעקוטיווע פּייפּס.

פונסיאָנעס

פאַנגקשאַנז זענען אַ סכום פון סטייטמאַנץ וואָס זענען גרופּט צוזאַמען אַזוי אַז זיי קענען זיין עקסאַקיוטאַד עטלעכע מאָל אָן רירייט. עס איז עקוויוואַלענט צו טראַכטן אַז ווען מיר לערנען צו קאָכן אַ טיפּ פון עסנוואַרג, מיר שרייבן דעם רעצעפּט אויף אַ בויגן, און יעדער מאָל מיר וועלן צו קאָכן די עסנוואַרג מיר באַראַטנ זיך די רעצעפּט אַנשטאָט פון רירייטינג אַ נייַ בלאַט מיט דער זעלביקער רעצעפּט.

טאָמער די מערסט וויכטיק זאַך וועגן פאַנגקשאַנז איז די מעגלעכקייט פון פּאַסינג פּאַראַמעטערס, דאַטן וואָס זיי וועלן נוצן צו פּראָצעס זיי און דזשענערייט אַ רעזולטאַט. די סטרוקטור איז ווי גייט:

פונקציע פונקציע-נאמען {

פּראַסעסאַז

}

בייַשפּיל: פונקציע וואָס ווייזט די סערוויסעס וואָס אַרבעט אויף די טקפּ פּראָטאָקאָל. מיר קענען אויך זען ווי צו צולייגן מער פּייפּס.

# מיר דעפינירן אַ פֿונקציע נאָמען, עס קען זיין דער וואָס מיר ווי.

פונקציאָנירן services_tcp {

# קאַץ קאַנקאַטאַנייץ און דיספּלייז די אינהאַלט פון די / עטק / סערוויסעס טעקע, וואָס איז # וואָס כּולל אַלע די באַדינונגס מיט זייער פארבונדן פּאָרץ.

# דער ערשטער גרעפּ נעמט די רשימה און רימוווז די באַמערקונגען, מיט –v מיר יבערקערן די רעזולטאַט

# די רגע גרעפּ ווייזט בלויז די שייך צו טקפּ

קאַץ / עטק / באַדינונגס | grep –v "^ #" | grep tcp

}

ווען מיר דאַרפֿן צו דורכפירן דעם פֿונקציע, מיר נאָר האָבן צו רופן עס מיט זיין נאָמען:

tcp_services

אין דעם פאַל, עס אַרבעט אָן פּאַראַמעטערס; אין דעם פאַל, מיר מוזן לייגן זיי אַזוי אַז די פונקציע אַרבעט רעכט, אַנדערש די פונקציע וועט נישט אַרבעטן רעכט. ניצן צוריקקומען אַלאַוז אַ פֿונקציע צו ווייַזן אַ ווערט ווי אַ רעזולטאַט פון דעם פּראָצעס.

בייַשפּיל: פונקציאָנירן מיט אַרייַנשרייַב פּאַראַמעטערס אַז קאַלקיאַלייץ די סומע פון ​​2 נומערן.

#! / בין / באַש
פונקציאָנירן סומע ()
{
# מיט לאָזן מיר קענען דורכפירן די אָפּעראַציע אין די ציטאטן
לאָזן "רעזולטאַט = $ 1 + $ 2"

# רעטורן אַלאַוז צו צוריקקומען די ינטאַדזשער ווערט. אַמאָל דער צוריקקער איז עקסאַקיוטאַד, די ווערט וועט זיין דיפּאַזאַטאַד ין די בייַטעוודיק $?
צוריקקומען $ רעזולטאַט;
}
 
# די סומע פונקציע איז גערופֿן און מיר פאָרן 2 אַרייַנשרייַב פּאַראַמעטערס.

לייג 2 3

# פּרינץ די ווערט פון $? מיט עקאָו יוואַליוייטינג די פאַקטיש ווערט פון די בייַטעוודיק אין קוואָטעס
ווידערקאָל -e "רעזולטאַט = $?";

דאנק איר וואַן קאַרלאָס אָרטיז!


דער אינהאַלט פון דעם אַרטיקל אַדכיר צו אונדזער פּרינציפּן פון לייט עטיקס. צו מעלדונג אַ טעות גיט דאָ.

7 באַמערקונגען, לאָזן דיין

לאָזן דיין באַמערקונג

אייער בליצפּאָסט אַדרעס וועט נישט זייַן ארויס.

*

*

  1. פאַראַנטוואָרטלעך פֿאַר די דאַטן: Miguel Ángel Gatón
  2. ציל פון די דאַטן: קאָנטראָל ספּאַם, קאָמענטאַר פאַרוואַלטונג.
  3. לעגיטימאַטיאָן: דיין צושטימען
  4. קאָמוניקאַציע פון ​​די דאַטן: די דאַטן וועט נישט זיין קאַמיונאַקייטיד צו דריט פּאַרטיעס אַחוץ דורך לעגאַל פליכט.
  5. דאַטן סטאָרידזש: דאַטאַבייס כאָוסטיד דורך Occentus Networks (EU)
  6. רעכט: צו קיין צייט איר קענט באַגרענעצן, צוריקקריגן און ויסמעקן דיין אינפֿאָרמאַציע.

  1.   נייל טייַטל דאָס

    איך בין נישט זיכער, אָבער די צוריקקער ויסזאָגונג פון די פאַנגקשאַנז איז בלויז געניצט צו צוריקקומען אַ ינטאַדזשער צווישן 0 און 255, ווי די טעות קאָודז פון "אַרויסגאַנג". כאָטש אין דעם בייַשפּיל דאָס אַרבעט, איך טאָן ניט טראַכטן עס איז גוט פיר צו ווייַזן די רעזולטאַט מיט צוריקקומען.
    איבער דאָרט איך זאָגן אַ ומזין כאַ! אויג! ha!

  2.   דזשונק דאָס

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

  3.   אַבעל ש בארג ביג דאָס

    עס איז אמת, צו סאָלווע דעם איר קענען נוצן די BC באַפֿעל, אין די סומע פונקציע איר קענען נוצן: רעזולטאַט = `ווידערקאָל $ 1 + $ 2 | בק -קל`

  4.   לויס מיגועל דאָס

    גוט,

    איך וואָלט ווי צו וויסן ווו איך קענען ראַטעווען די באַש טעקעס צו לויפן סיסטעם ברייט און דאָס איז נישט די בין וועגווייַזער, אָבער איך קען זיין באַקאַפּ.

    א דאנק און לאז גריסן.

  5.   וואַקין דאָס

    דאַנקען דיר זייער פיל, איך בין סטאַרטינג מיט די סקריפּס, און דער אמת איז אַז דאָס איז זייער נוציק, איר זענט זייער ליב צו טיילן דיין וויסן!
    גרוס

    1.    לאָמיר נוצן לינוקס דאָס

      אדאנק! האַלדזן!
      פּאַבלאָ

  6.   CRISTHIAN דאָס

    סינטאַקס טעות: "(" אומגעריכט
    איך באַקומען אַ טעות ווען איך טריינג צו לויפן דעם בייַשפּיל, איך קאַפּיד עס פּונקט די זעלבע

    וואָס קען זיין? איך בין אויף ובונטו 14.10

בול (אמת)