בעגיננערס גייד צו בוש - ינפּוט פּאַראַמעטערס

ברוכים הבאים צו די 2 טייל פון די ביגינערז ביגינערז צו באַשי סעריע וואָס איז יינציק אין אַז עס איז דער בלויז באַס טוטאָריאַל געשריבן דורך אַ אָנהייבער פֿאַר ביגינערז.

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

לעצטע וואָך איך באדעקט שאפן דיין ערשטער שריפט וואָס פשוט געוויזן די ווערטער "העלא וועלט". עס קאָווערס סאַבדזשעקץ אַזאַ ווי טעקסט רעדאקציע, ווי צו עפענען אַ וואָקזאַל פֿענצטער, וווּ צו שטעלן דיין סקריפּס, ווי צו אַרויסווייַזן די ווערטער "העלא וועלט" און עטלעכע פייַן ווייזט אויף אַנטלויפן אותיות אַזאַ ווי ציטירט ("").

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

וואָס איז אַ פּאַראַמעטער?

אין די "העלא וועלט" שריפט פון די לעצט טוטאָריאַל עס איז געווען אַלע זייער סטאַטיק. דער שריפט האט ניט טאַקע טאָן פיל.

ווי קען מיר פֿאַרבעסערן אויף די "העלא וועלט" שריפט?

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

אָן די פיייקייַט צו אָננעמען אַרייַנשרייַב פּאַראַמעטערס מיר דאַרפֿן צו שרייַבן דרייַ סקריפּס "hellogary.sh", "hellotim.sh" און "hellodolly.sh".

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

צו טאָן דעם עפענען אַרויף אַ וואָקזאַל פֿענצטער (קטרל + אַלט + ה) און נאַוויגירן צו דיין סקריפּס טעקע דורך טייפּינג די פאלגענדע: ( וועגן סי באַפֿעל )

cd scripts

שאַפֿן אַ נייַ שריפט גערופן greetme.sh דורך טייפּינג די פאלגענדע: ( וועגן פאַרבינדן באַפֿעל )

פאַרבינדן greetme.sh

עפענען די שריפט אין דיין באַליבט רעדאַקטאָר דורך טייפּינג די פאלגענדע: ( וועגן נאַנאָ באַפֿעל )

nano greetme.sh

אַרייַן די ווייַטערדיק טעקסט אין נאַנאָ:

#! / בין / באַש עקאָ "העלא $ @"

דרוק קטרל און אָ צו ראַטעווען די טעקע און דעמאָלט קטרל און רענטגענ צו פאַרמאַכן די טעקע.

צו לויפן די שריפט אַרייַן די פאלגענדע אין די באַפֿעל שורה ריפּלייסינג מיט דיין נאָמען.

ש greetme.sh

אויב איך לויפן דעם שריפט מיט מיין נאָמען עס דיספּלייז די ווערטער "העלא גאַרי".

דער ערשטער שורה האט די #! / בין / באַש שורה וואָס איז גענוצט צו ידענטיפיצירן די טעקע ווי אַ באַש script.

די צווייטע שורה ניצט די אפקלאנג דערקלערונג צו אפהיטן דעם ווארט העלא און דאן איז די מאָדנע $ @ נאָוטיישאַן. ( וועגן ווידער באַפֿעל )

דער $ @ יקספּאַנדז צו אַרויסווייַזן יעדער פּאַראַמעטער וואָס איז אַרייַנגערעכנט מיט דעם שריפט נאָמען. אַזוי אויב איר טייפּט "ש greetme.sh טימ" די ווערטער "העלא טים" וואָלט זיין געוויזן. אויב איר טייפּט "greetme.sh tim smith" דעמאָלט די ווערטער "hello tim smith" וואָלט זיין געוויזן.

עס קען זיין פייַן פֿאַר די greetme.sh שריפט צו נאָר זאָגן העלא ניצן נאָר דער ערשטער נאָמען. קיינער זאגט "העלא גערי נייַעל" ווען זיי טרעפן מיר, זיי זאלן זאָגן "העלא גאַרי" כאָטש.

זאל ס טוישן די שריפט אַזוי אַז עס נאָר ניצט דער ערשטער פּאַראַמעטער. עפֿן זיך די greetme.sh שריפט אין נאַנאָ דורך טייפּינג די פאלגענדע:

nano greetme.sh

טוישן די שריפט אַזוי אַז עס לייקס ווי גייט:

#! / בין / באַשי עקאָ "העלא $ 1"

היט דעם שריפט דורך דרינגלעך קטרל און אָ און דעמאָלט אַרויסגאַנג דורך דרינגלעך קטרל און רענטגענ.

לויף די שריפט ווי געוויזן אונטן (פאַרבייַטן מיין נאָמען מיט דיין):

ש greetme.sh גערי נייַעל

ווען איר לויפן די שריפט עס וועט פשוט זאָגן "העלא גאַרי" (אָדער אַלעווייַ "העלא" און וועלכער דיין נאָמען איז.

די 1 נאָך די $ סימבאָל בייסיקלי זאגט צו די עקאָו באַפֿעל, נוצן די ערשטער פּאַראַמעטער. אויב איר פארלאנגט די $ 1 מיט א $ 2, וועט עס אַרויסווייַזן "העלא נייַעל" (אָדער וועלכער דיין פאַמיליע איז).

אגב, אויב איר ריפּלייסט די $ 2 מיט אַ $ 3 און געלאפן דעם שריפט מיט בלויז 2 פּאַראַמעטערס, די רעזולטאַט איז פשוט "העלא".

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

צו אַרויסווייַזן די נומער פון פּאַראַמעטערס אַרייַנגערעכנט עפענען די greetme.sh שריפט (nano greetme.sh) און טוישן דעם טעקסט ווי גייט:

#! / בין / באַשי עקאָ "איר אריין $ # נעמען" עקאָו "העלא $ @"

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

די $ # אויף די 2 שורה דיספּלייז די נומער פון פּאַראַמעטערס אַרייַנגערעכנט.

אזוי ווייַט אַלע דעם איז ראָמאַן, אָבער ניט זייער נוצלעך. ווער דאַרף אַ שריפט אַז פשוט דיספּלייז "העלא"?

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

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

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

עפֿן זיך דיין greetme.sh שריפט און אַמענד עס ווי גייט:

#! / בין / באַשי עקאָ "פילענאַמע: $ 0" עקאָ "פּראָצעס שייַן: $$" ווידערקאָל "---------------------------- --- "echo" איר אריין $ # נעמען "echo" hello $ @ "

דרוק קטרל און אָ צו ראַטעווען די טעקע און קטרל און רענטגענ צו אַרויסגאַנג.

איצט לויפן די שריפט (פאַרבייַטן מיט דיין נאָמען).

ש greetme.sh

דעם מאָל די שריפט דיספּלייז די פאלגענדע:

פילענאַמע: greetme.sh פּראָצעס שייַן: 18595 ------------------------------ איר אריין 2 נעמען hello gary newell

די $ 0 אויף דער ערשטער שורה פון דעם שריפט דיספּלייז די נאָמען פון די שריפט איר זענען פליסנדיק. באַמערקונג אַז עס איז דאָלאַר נול און ניט דאָלאַר אָ.

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

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

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

עס איז גאַנץ פּראָסט פֿאַר שריפט רעזולטאַט צו זיין געשיקט צו אַ רעזולטאַט טעקע. צו טאָן דעם לויף דיין שריפט ווי גייט:

ש greetme.sh gary> greetme.log

די סימבאָל אין די אויבן באַפֿעל רעזולטאטן די טעקסט "העלא גאַרי" צו אַ טעקע גערופן greetme.log.

יעדער מאָל איר לויפן די שריפט מיט די> סימבאָל עס אָווועררייץ די אינהאַלט פון די פּראָדוקציע טעקע. אויב איר וואָלט בעסער צו צולייגן צו די טעקע פאַרבייַטן די> מיט >>.

Summary

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