ש - לינוקס קאַמאַנד - יוניקס קאַמאַנד

NAME

באַש - GNU Bourne-Again SHELL

SYNOPSIS

באַש [אָפּציעס] [טעקע]

DESCRIPTION

באַש איז אַן ש-קאָמפּאַטיבלע קאָמאַנדע שפּראַך יבערזעצער אַז עקסאַקיוץ קאַמאַנדז לייענען פון די נאָרמאַל אַרייַנשרייַב אָדער פון אַ טעקע. באַש אויך ינקאָרפּערייץ נוציק פֿעיִקייטן פון די קאָרנ און C שעלז ( קש און קש ).

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

אָפּציעס

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

סטרינג

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

-i

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

-l

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

-r

אויב די אָפּציע איז פאָרשטעלן, די שאָל ווערט ריסטריקטיד (זען RESTRICTED SHELL below).

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

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

[-] O [ shopt_option ]

shopt_option איז איינער פון די שאָל אָפּציעס אנגענומען דורך די שאָפּט געבויט (see SHELL BUILTIN COMMANDS below). אויב shopt_option איז פאָרשטעלן, שטעלט די ווערט פון דעם אָפּציע; + אָ ונסעץ עס. אויב shopt_option איז ניט סאַפּלייד, די נאָמען און וואַלועס פון די שאָל אָפּציעס אנגענומען דורך שאָפּפּעד זענען געדרוקט אויף די נאָרמאַל רעזולטאַט. אויב דער אָפּציע אָפּציע איז + אָ , די רעזולטאַט איז געוויזן אין אַ פֿאָרמאַט וואָס קען זיין ריוזד ווי אַרייַנשרייַב.

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

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

- דאַמפּ-פּאָ-סטרינגס

עקוויוואַלענט צו- ד , אָבער דער רעזולטאַט איז אין די GNU gettext פּאָ (פּאָרטאַטיוו כייפעץ) טעקע פֿאָרמאַט.

- דאַמפּ-סטרינגס

עקוויוואַלענט צו .

- העלפּ

ווייַז אַ באַניץ אָנזאָג אויף נאָרמאַל רעזולטאַט און אַרויסגאַנג הצלחה.

- יניט טעקע

- רקפילע טעקע

ויספירן קאַמאַנדז פון טעקע אַנשטאָט פון די נאָרמאַל פּערזענלעך יניטיאַליזאַטיאָן טעקע ~ /. באַסכק אויב די שאָל איז ינעראַקטיוו (זען ינוועסמאַנט ונטער).

--צייכן אריין

עקוויוואַלענט צו .

--noediting

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

--noprofile

איר טאָן ניט לייענען אָדער די סיסטעם-ברייט סטאַרטאַפּ טעקע / עטק / פּראָפיל אָדער קיין פון די פּערזענלעך יניטיאַליזאַטיאָן טעקעס ~ /. באַשי_פּראָפיל , ~ / .באַש_לאָגלין , אָדער ~ / .פּראָפיל . דורך פעליקייַט, באַוש לייענט די טעקעס ווען עס איז ינוווקטיד ווי אַ לאָגין שאָל (זען ינוועסמאַנט ונטער).

--norc

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

--posix

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

--ררעסטריקטעד

די שאָל ווערט ריסטריקטיד (זען RESTRICTED SHELL אונטן).

- רפּם-ריקווייערז

פּראָדוצירן די רשימה פון טעקעס וואָס זענען פארלאנגט פֿאַר די שאָל שריפט צו לויפן. דאס ינפּייערז '-נ' און איז אונטער די זעלבע לימיטיישאַנז ווי קאַמפּיילינג צייַט טעות טשעק קאָנטראָל; באַקקסטיקס, [] טעסץ, און עוואַלס זענען נישט פּאַרסעד אַזוי עטלעכע דיפּענדאַנסיז קענען זיין מיסט. --verbose עקוויוואַלענט צו -וו .

--version

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

אַרגומענץ

אויב טענות בלייַבן נאָך אָפּציע פּראַסעסינג, און ניט די-C אָדער די אָפּציע איז געווען סאַפּלייד, דער ערשטער אַרגומענט איז גערופן דער נאָמען פון אַ טעקע מיט שאָל קאַמאַנדז. אויב באַש איז ינוואָוקס אין דעם שניט, $ 0 איז באַשטימט צו דער נאָמען פון די טעקע, און די פּאָסיטיאָנאַל פּאַראַמעטערס זענען באַשטימט צו די רוען אַריינמאַרקס. באַס לייענט און עקסאַקיוץ קאַמאַנדז פון דעם טעקע, דעמאָלט עקסיץ. באַס 'ס אַרויסגאַנג סטאַטוס איז די אַרויסגאַנג סטאַטוס פון די לעצט באַפֿעל עקסאַקיוטאַד אין דעם שריפט. אויב קיין קאַמאַנדז זענען עקסאַקיוטאַד, די אַרויסגאַנג סטאַטוס איז 0. אַן פּרווון איז ערשטער געמאכט צו עפענען די טעקע אין דעם קראַנט וועגווייַזער, און, אויב קיין טעקע איז געפונען, דער שעלל זוכט די דיירעקטעריז אין די וועג פֿאַר דעם שריפט.

INVOCATION

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

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

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

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

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

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

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

אויב [-ן "$ BASH_ENV"]; then. "$ BASH_ENV"; פי

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

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

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

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

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

DEFINITIONS

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

ליידיק

א פּלאַץ אָדער קוויטל.

word

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

נאָמען

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

metacharacter

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

| &; () <> אָרט קוויטל

קאָנטראָל אָפּעראַטאָר

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

|| & &&; ;; () | <נעוולינע>

RESERVED WORDS

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

! פאַל טאָן געטאן עליף אַנדערש עסאַק פי פֿאַר פונקציאָנירן אויב אין אויסקלייַבן דאַן ביז בשעת {} צייַט [[]]

SHELL GRAMMAR

פּשוט קאַמאַנדז

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

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

פּיפּעלינעס

א רערנ - ליניע איז אַ סיקוואַנס פון איינער אָדער מער קאַמאַנדז אפגעשיידט דורך די כאַראַקטער | . דער פֿאָרמאַט פֿאַר אַ רערנ - ליניע איז:

[ צייַט [ -פּ ]] [! ] באַפֿעל [ | command2 ...]

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

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

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

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

ליס

א רשימה איז אַ סיקוואַנס פון איינער אָדער מער פּייפּליינז, אפגעשיידט דורך איינער פון די אָפּערייטערז ; , & , && , אָדער || , און אָפּטיאָנאַללי טערמאַנייטיד דורך איינער פון ; , & , אָדער <נעוולינע> .

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

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

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

די קאָנטראָל אָפּערייטערז && און || דינען און רשימות און OR רשימות, ריספּעקטיוולי. אַן און רשימה האט די פאָרעם

command1 && command2

קאָממאַנד 2 איז עקסאַקיוטאַד אויב, און בלויז אויב, קאָממאַנד 1 קערט אַ אַרויסגאַנג סטאַטוס פון נול.

א OR רשימה האט די פאָרעם

command1 || command2

קאָממאַנד 2 איז עקסאַקיוטאַד אויב און נאָר אויב קאָממאַנד 1 קערט אַ ניט-נול אַרויסגאַנג סטאַטוס. דער צוריקקער סטאַטוס פון AND און OR רשימות איז די אַרויסגאַנג סטאַטוס פון די לעצט באַפֿעל עקסיסטירט אין דער רשימה.

Compound Commands

א קאָמבינאַציע באַפֿעל איז איינער פון די ווייַטערדיקע:

( רשימה )

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

{ list ; }

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

( אויסדרוק ))

די אויסדרוק איז עוואַלואַטעד לויט די כּללים דיסקרייבד אונטן אונטער ARITHMETIC EVALUATION . אויב די ווערט פון דער אויסדרוק איז ניט-נול, דער צוריקקער סטאַטוס איז 0; אַנדערש די צוריקקומען סטאַטוס איז 1. דאס איז פּונקט עקוויוואַלענט צו לאָזן " אויסדרוק ".

[[ אויסזען ]]

ווייַזן אַ סטאַטוס פון 0 אָדער 1 דיפּענדינג אויף די אפשאצונג פון די קאַנדישאַנאַל אויסדרוק אויסדרוק . עקספּרעססיאָנס זענען פארפאסט פון די פּריימערז דיסקרייבד אונטן אונטער קאַנדישאַנינג עקספּרעססיאָנס . וואָרט ספּליטינג און פּאַטהעמע יקספּאַנשאַן זענען נישט געטאן אויף די ווערטער צווישן די [[ און ]] ; יקספּאַנדז, פּאַראַמעטער און בייַטעוודיק יקספּאַנשאַן, אַריטמעטיק יקספּאַנשאַן, באַפֿעל סאַבסטיטושאַן, פּראָצעס סאַבסטיטושאַן, און ציטירן באַזייַטיקונג זענען געטאן.

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

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

( אויסדרוק )

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

! אויסדרוק

אמת אויב אויסדרוק איז פאַלש.

expression1 && expression2

אמת אויב ביידע אויסדרוק 1 און אויסדרוק 2 זענען אמת.

expression1 || expression2 אמת אויב either expression1 or expression2 is true.

די && און || אָפּערייטערז טאָן ניט אָפּשאַצן אויסדרוק 2 אויב די ווערט פון אויסדרוק 1 איז גענוג צו באַשטימען דעם צוריקקומען ווערט פון די גאנצע קאַנדישאַנאַל אויסדרוק.

פֿאַר נאָמען [ אין וואָרט ]; טאָן רשימה ; געטאן

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

פֿאַר (( עקספּר 1 , עקספּפּ 2 , עקספּר 3 )); טאָן רשימה ; געטאן

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

אויסקלייַבן נאָמען [ אין וואָרט ]; טאָן רשימה ; געטאן

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

פאַל וואָרט אין [[(] מוסטער [ | מוסטער ]

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

אויב רשימה ; then list; [ עליף רשימה ; then list ; ] ... [ אַנדערש רשימה ; ] פי

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

while list ; טאָן רשימה ; געטאן

ביז רשימה ; טאָן רשימה ; געטאן

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

[ function ] name () { list ; }

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

COMMENTS

אין אַ ניט-ינטעראַקטיוו שאָל, אָדער אַן ינטעראַקטיוו שאָל וואָס די ינטעראַקטיוועקאָממענץ אָפּציע צו די שאָפּט געבויט איז ענייבאַלד (see SHELL BUILTIN COMMANDS below), אַ וואָרט מיט # ז אַז וואָרט און אַלע רימיינינג אותיות אויף דעם שורה וועט זיין איגנאָרירט. אַ ינטעראַקטיוו שאָל אָן די ינטעראַקטיוועקאָממענץ אָפּציע קענען נישט לאָזן באַמערקונגען. די אָפּציע ינטעראַקטיוועקאָממענץ איז אויף default דורך ינטעראַקטיוו שעלז.

QUOTING

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

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

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

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

א ניט-ציטירטן באַקסשאַש ( \ ) איז די אַנטלויפן כאַראַקטער . עס פּרעזערוועס די ליטעראַל ווערט פון דער ווייַטער כאַראַקטער וואָס גייט, מיט די ויסנעם פון <נעוולינע>. אויב אַ \ <נעוולינע> פּאָר אויס, און די באַקקלאַש איז נישט געזאָגט זיך, די \ <נעוולינע> איז באהאנדלט ווי אַ שורה קאַנטיניויישאַן (אַז איז, עס איז אַוועקגענומען פון די אַרייַנשרייַב טייַך און יפעקטיוולי איגנאָרירט).

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

ענקלאָוזינג אותיות אין טאָפּל קוואָטעס ייַנגעמאַכץ די ליטעראַל ווערט פון אַלע אותיות ין די ציטירט, מיט די ויסנעם פון $ , ` , און \ . די אותיות $ און ` ריטיין זייער ספּעציעל באַטייַט אין טאָפּל ציטירט. די באַקסלאַש ריטיינז זייַן ספּעציעלע טייַטש בלויז ווען נאכגעגאנגען דורך איינער פון די ווייַטערדיק אותיות: $ , ` , " , \ , אָדער <נעוולינע> .

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

ווערטער פון די פאָרעם $ ' שטריקל ' זענען ספּעשאַלי באהאנדלט. דער וואָרט יקספּאַנדז צו שטריקל , מיט באַקסלאַש-אנטרונען אותיות ריפּלייסט ווי ספּעסאַפייז דורך די אַנסי C נאָרמאַל. באַקקסטאַש אַנטלויפן סיקוואַנסיז, אויב געשאַנק, זענען דיקאָודאַד ווי גייט:

\ a

פלינק (גלאָק)

\ b

backspace

\ e

אַ אַנטלויפן כאַראַקטער

\ f

פאָרעם פיטער

\ n

נייַ שורה

\ r

וועגעלע צוריקקומען

\ t

האָריזאָנטאַל קוויטל

\ v

ווערטיקאַל קוויטל

\\

backslash

\ '

איין ציטירן

\ nnn

די אַכט-ביסל כאַראַקטער וועמענס ווערט איז די אָקטאַל ווערט ננן ( 1-6 דידזשאַץ)

\ x HH

די אַכט-ביסל כאַראַקטער וועמענס ווערט איז דער העקסאַדעסימאַל ווערט הה (איינער אָדער צוויי העקס דידזשאַץ)

\ c x

אַ קאָנטראָל- X כאַראַקטער

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

א טאָפּל-ציטירטן שטריקל פּריסטיד דורך אַ דאָלאַר צייכן ( $ ) וועט פאַרשאַפן דעם שטריקל צו זיין איבערגעזעצט לויט די קראַנט לאָקאַל. אויב די קראַנט לאָקאַל איז C אָדער POSIX , די דאָלאַר צייכן איז איגנאָרירט. אויב די שטריקל איז איבערגעזעצט און ריפּלייסט, די פאַרבייַט איז טאָפּל-ציטירטן.

פּאַראַמעטערס

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

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

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

נאָמען = [ ווערט ]

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

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

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

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

ספּעציעלע פּאַראַמעטערס

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

*

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

@

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

#

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

?

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

-

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

$

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

!

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

0

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

_

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

Shell Variables

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

BASH

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

BASH_VERSINFO

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

BASH_VERSINFO [ 0]

דער הויפּט ווערסיע נומער (די מעלדונג ).

BASH_VERSINFO [ 1]

די מינערנווערטיק ווערסיע נומער (די ווערסיע ).

BASH_VERSINFO [ 2]

די לאַטע מדרגה.

BASH_VERSINFO [ 3]

די בויען ווערסיע.

BASH_VERSINFO [ 4]

די מעלדונג סטאַטוס (למשל, ביתא 1 ).

BASH_VERSINFO [ 5]

די ווערט פון מאַטשטיפּע .

BASH_VERSION

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

COMP_CWORD

COMP_LINE

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

COMP_POINT

COMP_WORDS

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

DIRSTACK

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

EUID

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

FUNCNAME

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

GROUPS

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

HISTCMD

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

האָסטנאַמע

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

האָסטטיפּע

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

LINENO

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

MACHTYPE

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

OLDPWD

די פריערדיקע ארבעטן וועגווייַזער ווי שטעלן דורך די סי באַפֿעל.

אָפּטאַרג

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

OPTIND

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

OSTYPE

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

PIPESTATUS

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

פּפּיד

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

PWD

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

RANDOM

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

REPLY

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

SECONDS

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

SHELLOPTS

א קאָלאָנע-אפגעשיידט רשימה פון ינייבאַלד שאָל אָפּציעס. יעדער וואָרט אין דער רשימה איז אַ גילטיק אַרגומענט פֿאַר די אָפּציע צו די שטעלן געבויט ביניען (זען SHELL BUILTIN COMMANDS ונטער). די אָפּציעס וואס זענען ארויס אין SHELLOPTS זענען די געמאלדן ווי אויף דורך set -o . אויב די בייַטעוודיק איז אין די סוויווע ווען באַס סטאַרץ אַרויף, יעדער אָפּציע שאָל אין דער רשימה וועט זיין ענייבאַלד איידער איר לייענען קיין סטאַרטאַפּ טעקעס. דעם בייַטעוודיק איז בלויז לייענען.

SHLVL

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

UID

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

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

BASH_ENV

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

CDPATH

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

COLUMNS

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

COMPREPLY

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

FCEDIT

די פעליקייַט רעדאַקטאָר פֿאַר די פף געבויט באַפֿעל.

FIGNORE

א קאָלאָנע-אפגעשיידט רשימה פון סופפיקסעס צו איגנאָרירן ווען איר דורכפירן פאַרענדיקן פילענאַמע (זען READLINE אונטן). א פילענאַמע וועמענס סופפיקס גלייַכן איינער פון די איינסן אין FIGNORE איז יקסקלודיד פון דער רשימה פון מאַטשט פילענאַמעס. א מוסטער ווערט איז ".א: ~".

GLOBIGNORE

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

HISTCONTROL

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

HISTFILE

דער נאָמען פון דער טעקע אין וועלכע באַפֿעלן געשיכטע איז געראטעוועט (זען היסטאָרי אונטן). די פעליקייַט ווערט איז ~ / .באַש_היסטאָרי . אויב ניט, די באַפֿעלן געשיכטע איז נישט געראטעוועט ווען אַ ינטעראַקטיוו שאָל גייט.

HISTFLSIZE

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

HISTIGNORE

א קאָלאָנע-אפגעשיידט רשימה פון פּאַטערנז געניצט צו באַשליסן וואָס באַפֿעל שורות זאָל זיין געזונט אויף די געשיכטע רשימה. יעדער מוסטער איז אַנקערד אין די אָנהייב פון די שורה און מוזן גלייַכן די פול שורה (קיין ימפּלייז ` * 'איז אַפּפּענדעד). יעדער מוסטער איז טעסטעד קעגן די שורה נאָך די טשעקס ספּעסאַפייד דורך היסטקאָנטראָל . אין דערצו צו די נאָרמאַל שאָל מוסטער וואָס ריכטן אותיות, ` & 'שוועבעלעך די פריערדיקע געשיכטע שורה. ` & 'קען זיין אנטרונען ניצן אַ באַקסשלאַש; די באַקסשלאַש איז אַוועקגענומען איידער געפרוווט אַ גלייַכן. די רגע און סאַבסאַקוואַנט שורות פון אַ מאַלטי-שורה קאַמפּאַונד באַפֿעלן זענען נישט טעסטעד, און זענען מוסיף צו די געשיכטע ראַגאַרדלאַס פון די ווערט פון היסטיגנאָרע .

HISTSIZE

די נומער פון קאַמאַנדז צו געדענקען אין דער באַפֿעלן געשיכטע (זען געשיכטע ונטער). די פעליקייַט ווערט איז 500.

היים

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

האָסטפילע

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

IFS

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

יגנאָרעעאָף

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

INPUTRC

די פילענאַמע פֿאַר די לייללינע סטאַרטאַפּ טעקע, אָוווערריידינג די פעליקייַט פון ~ /. ינפּוטרק (זען READLINE ונטער).

LANG

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

LC_ALL

דעם בייַטעוודיק אָוווערריידז די ווערט פון LANG און קיין אנדערע LC_ בייַטעוודיק ספּעסיפיינג אַ לאָקאַל קאַטעגאָריע.

LC_COLLATE

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

LC_CTYPE

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

LC_MESSAGES

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

LC_NUMERIC

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

LINES

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

MAIL

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

MAILCHECK

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

MAILPATH

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

MAILPATH = '/ var / mail / bfox? "איר האָט פּאָסט": ~ / שעל-פּאָסט? "$ _ האָט פּאָסט!"'

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

OPTERR

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

PATH

דער זוכן וועג פֿאַר קאַמאַנדז. עס איז אַ קאָלאָאָן-אפגעשיידט רשימה פון דירעקטעריז אין וואָס די שאָל קוקט פֿאַר קאַמאַנדז (זען COMMAND EXECUTION ונטער). די פעליקייַט דרך איז סיסטעם-אָפענגיק, און איז באַשטימט דורך דער אַדמיניסטראַטאָר וואס ינסטאָלז באַש . א געוויינטלעך ווערט איז `` / וסר / גנו / בין: / וסר / היגע / בין: / וסר / וקב: / בין: / וסר / בין :. ''.

POSIXLY_CORRECT

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

PROMPT_COMMAND

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

פּס 1

די ווערט פון דעם פּאַראַמעטער איז יקספּאַנדיד (זען פּראַמפּטינג ווייטער) און געוויינט ווי די הויפּט פּינטלעך שטריקל. די פעליקייַט ווערט איז `` \ s- \ v \ $ ''.

פּס 2

די ווערט פון דעם פּאַראַמעטער איז יקספּאַנדיד ווי מיט פּס 1 און געוויינט ווי די צווייטיק פּינטלעך שטריקל. די פעליקייַט איז `` > ''.

פּס 3

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

פּס 4

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

TIMEFORMAT

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

%%%

א פּסיכאָלאָגיע % .

% [ פּ ] [ך] ר

די ילאַפּסט צייַט אין סעקונדעס.

% [ p ] [ך] ו

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

% [ p ] [ך] ז

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

% P

די קפּו פּראָצענט, קאַמפּיוטיד ווי (% ו +% ז) /% ר.

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

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

אויב דאָס בייַטנ לויט דער ריי איז ניט באַשטימט, באַשי אקטן ווי אויב עס האט די ווערט $ '\ נייל \ t% 3 לר \ נוסטער \ t% 3 לו \ נסיס% 3 לס' . אויב די ווערט איז נאַל, קיין טיימינג אינפֿאָרמאַציע איז געוויזן. א טריילינג נעוולינע איז מוסיף ווען די פֿאָרמאַט שטריקל איז געוויזן.

TMOUT

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

auto_resume

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

histchars

די צוויי אָדער דרייַ אותיות וואָס קאָנטראָלירן געשיכטע יקספּאַנשאַן און טאָקעניזאַטיאָן (זען היסטאָרי יקספּאַנסיאָן ונטער). דער ערשטער כאַראַקטער איז די געשיכטע יקספּאַנשאַן כאַראַקטער, דער כאַראַקטער וואָס סיגנאַלז די אָנהייב פון אַ געשיכטע יקספּאַנשאַן, נאָרמאַלי ` ! '. די רגע כאַראַקטער איז די שנעל סאַבסטיטושאַן כאַראַקטער, וואָס איז געניצט ווי שאָרסטאַנד פֿאַר שייַעך-פליסנדיק די פריערדיקע באַפֿעל אריין, סאַבסטיטוטינג איין שטריקל פֿאַר אנדערן אין דעם באַפֿעל. די פעליקייַט איז ` ^ '. די אָפּטיאָנאַל דריט כאַראַקטער איז דער כאַראַקטער וואָס ינדיקייץ אַז די רעשט פון די שורה איז אַ באַמערקונג ווען געפונען ווי דער ערשטער כאַראַקטער פון אַ וואָרט, נאָרמאַלי ` # '. די געשיכטע באַמערקונג כאַראַקטער ז געשיכטע סאַבסטיטושאַן צו זיין סקיפּט פֿאַר די רוען ווערטער אויף די שורה. עס טוט נישט דאַווקע פאַרשאַפן די שאָל פּאַרסער צו מייַכל די רעשט פון די שורה ווי אַ באַמערקונג.

Arrays

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

אַ מענגע איז באשאפן אויטאָמאַטיש אויב קיין בייַטעוודיק איז אַסיינד צו ניצן די סינטאַקס נאָמען [ סובסקריפּט ] = ווערט . די סובסקריפּט איז באהאנדלט ווי אַן אַריטמעטיק אויסדרוק אַז מוזן אָפּשאַצן צו אַ נומער גרעסער ווי אָדער גלייַך צו נול. צו ויספאָרשן אַן מענגע, נוצן דערקלערן-אַ נאָמען (זען שעל געבויט קאַמאַנדז ונטער). דערקלערן א נאָמען [ סובסקריפּט ] איז אויך אנגענומען; די סובסקריפּט איז איגנאָרירט. אַטריביוץ קען זיין ספּעסאַפייד פֿאַר אַ מענגע בייַטעוודיק ניצן די דעקלאַרע און רעאַדאָנלי געבויט. יעדער אַטריביוט אַפּלייז צו אַלע מיטגלידער פון אַ מענגע.

אַררייַס זענען אַסיינד צו ניצן קאַמפּאַונד אַסיינמאַנץ פון די פאָרעם נאָמען = ( ווערט 1 ... ווערט n ) , ווו יעדער ווערט איז פון די פאָרעם [ סובסקריפּט ] = שטריקל . בלויז שטריקל איז פארלאנגט. אויב די אָפּטיאָנאַל בראַקאַץ און סובסקריפּט זענען סאַפּלייד, אַז אינדעקס איז אַסיינד צו; אַנדערש די אינדעקס פון די עלעמענט אַסיינד איז די לעצטע אינדעקס אַסיינד צו דער ויסזאָגונג פּלוס איינער. ינדעקסינג סטאַרץ בייַ נול. דעם סינטאַקס איז אויך אנגענומען דורך די דעקלאַרע געבויט. יחיד מענגע עלעמענטן קענען זיין אַסיינד צו ניצן די נאָמען [ סובסקריפּט ] = ווערט סינטאַקס באַקענענ אויבן.

די אַנסעט געבויט איז געניצט צו צעשטערן עראַץ. ונסעט נאָמען [ סובסקריפּט ] דיסטרויז די מענגע עלעמענט בייַ אינדעקס סובסקריפּט . ונסעט נאָמען , ווו נאָמען איז אַ מענגע, אָדער אַנסעט נאָמען [ סובסקריפּט ], ווו אַבאָנסקריפּט איז * אָדער @ , רימוווז די גאנצע מענגע.

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

EXPANSION

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

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

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

בראַסע יקספּאַנשאַן

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

בראַסע יקספּאַנשאַן קען זיין נעסט. די רעזולטאַטן פון יעדער יקספּאַנדיד שטריקל זענען נישט אויסגעשטעלט; לינקס צו רעכט סדר איז אפגעהיט. למשל, אַ { ד, C, ב } E יקספּאַנדז אין `אַדי מויז אַבע '.

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

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

mkdir / usr / local / src / bash / {old, new, dist, bugs}

אָדער

chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

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

פאַרברייטערן יקספּאַנשאַן

אויב אַ וואָרט הייבט מיט אַן אַנקוואַטיד טאַלדע כאַראַקטער (` ~ '), אַלע די אותיות פּריסיסטינג די ערשטער אַנקוואָוטיד צעהאַקן (אָדער אַלע אותיות, אויב עס איז קיין אַנקוואָוטיד צעטל) זענען געהאלטן אַ טילדע-פּרעפיקס . אויב קיינער פון די אותיות אין דער טילדע-פּרעפיקס זענען ציטירט, די אותיות אין די טילדע-פּרעפיקס ווייַטערדיק די טילדע זענען באהאנדלט ווי אַ מעגלעך לאָגין נאָמען . אויב דאָס לאָגין נאָמען איז די נאַל שטריקל, די טילדע איז ריפּלייסט מיט די ווערט פון די שאָל פּאַראַמעטער היים . אויב HOME איז אַנסעט, דער היים וועגווייַזער פון דער באַניצער עקסאַקיוטינג די שאָל איז סאַבסטאַטוטאַד אַנשטאָט. אַנדערש, די tilde-prefix איז ריפּלייסט מיט די היים וועגווייַזער פארבונדן מיט די ספּעסאַפייד לאָגין נאָמען.

אויב די tilde-prefix איז אַ `~ + ', די ווערט פון די שאָל בייַטעוודיק פּווד ריפּלייסיז די טילדע-פּרעפיקס. אויב די tilde-prefix איז אַ `~ - ', די ווערט פון די שאָל בייַטעוודיק אָלדפּווד , אויב עס איז באַשטימט, איז סאַבסטאַטוטאַד. אויב די נומערן נאָכפאָלגן די טילדע אין די טילדע-פּרעפיקס צונויפשטעלנ זיך פון אַ נומער ן , אָפּטיאָנאַללי פּרעפיקסעד דורך אַ `+ 'אָדער אַ` -', די טילדע-פּרעפיקס איז ריפּלייסט מיט די קאָראַספּאַנדינג עלעמענט פון דער וועגווייַזער סטאַק, ווי עס וואָלט זיין געוויזן דורך די דירס געבויט ינוואָוקס מיט די טילדע-פּרעפיקס ווי אַ אַרגומענט. אויב די סימבאָלס נאָכפאָלגן די טילדע אין די טילדע-פּרעפיקס צונויפשטעלנ זיך פון אַ נומער אָן אַ לידינג `+ 'אָדער` -', `+ 'איז אנגענומען.

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

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

פּאַראַמעטערס יקספּאַנשאַן

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

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

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

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

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

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

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

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

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

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

דער וואָרט איז יקספּאַנדיד צו פּראָדוצירן אַ מוסטער פּונקט ווי אין פּאַטענטשייט יקספּאַנשאַן. אויב דער מוסטער שוועבעלעך די אָנהייב פון די ווערט פון פּאַראַמעטער , דעמאָלט דער רעזולטאַט פון די יקספּאַנשאַן איז די יקספּאַנדיד ווערט פון פּאַראַמעטער מיט די שאָרטיסט וואָס ריכטן מוסטער (די `` # '' פאַל) אָדער די לאָנגעסט וואָס ריכטן מוסטער (די `` ## ' 'פאַל) אויסגעמעקט. אויב פּאַראַמעטער איז @ אָדער * , די מוסטער באַזייַטיקונג אָפּעראַציע איז געווענדט צו יעדער פּאָזיטיוו פּאַראַמעטער אין דרייַ, און די יקספּאַנשאַן איז דער רעזולטאַט רשימה. אויב פּאַראַמעטער איז אַ מענגע בייַטעוודיק סאַבסקרייבד מיט @ אָדער * , די מוסטער באַזייַטיקונג אָפּעראַציע איז געווענדט צו יעדער מיטגליד פון די מענגע אין דרייַ, און די יקספּאַנשאַן איז דער רעזולטאַט רשימה.

דער וואָרט איז יקספּאַנדיד צו פּראָדוצירן אַ מוסטער פּונקט ווי אין פּאַטענטשייט יקספּאַנשאַן. אויב די מוסטער גלייַכן אַ טרילינג חלק פון די יקספּאַנדיד ווערט פון פּאַראַמעטער , דעמאָלט דער רעזולטאַט פון די יקספּאַנשאַן איז די יקספּאַנדיד ווערט פון פּאַראַמעטער מיט די שאָרטיסט וואָס ריכטן מוסטער (די `` % '' פאַל) אָדער די לאָנגעסט וואָס ריכטן מוסטער (די `` % % '' פאַל) אויסגעמעקט. אויב פּאַראַמעטער איז @ אָדער * , די מוסטער באַזייַטיקונג אָפּעראַציע איז געווענדט צו יעדער פּאָזיטיוו פּאַראַמעטער אין דרייַ, און די יקספּאַנשאַן איז דער רעזולטאַט רשימה. אויב פּאַראַמעטער איז אַ מענגע בייַטעוודיק סאַבסקרייבד מיט @ אָדער * , די מוסטער באַזייַטיקונג אָפּעראַציע איז געווענדט צו יעדער מיטגליד פון די מענגע אין דרייַ, און די יקספּאַנשאַן איז דער רעזולטאַט רשימה.

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

Command Substitution

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

$ ( באַפֿעלן )

אָדער

` באַפֿעל`

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

ווען די אַלט-נוסח באַקוויטשאָט פאָרעם פון סאַבסטיטושאַן איז געניצט, באַקסלאַש ריטיינד זייַן ליטעראַל טייַטש אַחוץ ווען נאכגעגאנגען דורך $ , ` , אָדער \ . דער ערשטער באַקקוואָטע ניט פּריסטיד דורך אַ צוריקסלאַש פאַרענדיקן דעם באַפֿעל סאַבסטיטושאַן. ווען ניצן די $ ( באַפֿעלן ) פאָרעם, אַלע אותיות צווישן די קלאַמז מאַכן אַרויף די באַפֿעל; קיינער איז נישט ספּעשאַלי באהאנדלט.

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

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

אַריטמעטיק עקספּאַנסיאָן

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

$ (( אויסדרוק ))

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

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

Process Substitution

פּראָסעס סאַבסטיטושאַן איז געשטיצט אויף סיסטעמען וואָס שטיצן געהייסן פּייפּס ( פיפאָס ) אָדער די / דעוו / פד אופֿן פון נאַמינג עפענען טעקעס. עס נעמט די פאָרעם פון <( רשימה ) אָדער > ( רשימה ) . דער פּראָצעס רשימה איז פליסנדיק מיט זייַן אַרייַנשרייַב אָדער רעזולטאַט פארבונדן צו אַ פיפאָ אָדער עטלעכע טעקע אין / dev / fd . דער נאָמען פון דעם טעקע איז דורכגעגאנגען ווי אַ אַרגומענט צו די קראַנט באַפֿעלן ווי דער רעזולטאַט פון די יקספּאַנשאַן. אויב די > ( רשימה ) פאָרעם איז געניצט, שרייַבן צו די טעקע וועט צושטעלן אַרייַנשרייַב פֿאַר רשימה . אויב די <( רשימה ) פאָרעם איז געניצט, די טעקע דורכגעגאנגען ווי אַ אַרגומענט זאָל זיין לייענען צו באַקומען די רעזולטאַט פון רשימה .

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

וואָרט ספּליטטינג

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

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

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

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

פּאַטהנאַמע עקספּאַנסיאָן

נאָך וואָרט ספּליטינג, אויב די-פ אָפּציע איז באַשטימט, באַש scans יעדער וואָרט פֿאַר די אותיות * ,? , און [ . אויב איינער פון די אותיות אויסדערוויילט, דער וואָרט איז אַ מוסטער , און ריפּלייסט מיט אַ אַלפאַבעטיקלי סאָרטירט רשימה פון טעקע נעמען וואָס ריכטן דעם מוסטער. אויב ניט קיין ריכטיקע טעקע נעמען זענען געפונען, און די שאָל אָפּציע נוללגלאָב איז פאַרקריפּלט, די וואָרט איז לינקס אַנטשיינדזשד. אויב די אָפּציע נולללאָב איז באַשטימט, און קיין שוועבעלעך זענען געפונען, די וואָרט איז אַוועקגענומען. אויב די אָפּציע נאַקאַסעגלאָב איז ענייבאַלד, די גלייַכן איז געטאן אָן אַכטונג צו די פאַל פון אַלפאַבעטיק אותיות. ווען אַ מוסטער איז געניצט פֿאַר פּאַטהנאַמע יקספּאַנשאַן, די כאַראַקטער ``. '' אין די אָנהייב פון אַ נאָמען אָדער מיד ווייַטערדיק אַ סלאַש מוזן זיין מאַטשט בישליימל, אויב די אָפּציע שאָט דאָטגלאָב איז באַשטימט. ווען ריכטן אַ פּאַטטערנד, די צעטל כאַראַקטער מוזן שטענדיק זיין מאַטשט בישליימעס. אין אנדערע קאַסעס, די '`.' ' כאַראַקטער איז נישט ספּעשאַלי באהאנדלט. זען די באַשרייַבונג פון שאָפּט אונטער שעל בוילעט קאַמאַנדז פֿאַר אַ באַשרייַבונג פון די נאַקאַסעגלאָב , נאַלגלאָוב , און דאָטגלאָב שאָל אָפּציעס.

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

מוסטער מאַטטשינג

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

די ספּעציעלע מוסטער אותיות האָבן די פאלגענדע מינינגז:

*

גלייַכן קיין שטריקל, אַרייַנגערעכנט די נאַל שטריקל.

?

גלייַכן קיין איין כאַראַקטער.

[...]

גלייַכן קיין איינער פון די ענקלאָוזד אותיות. א פּאָר פון אותיות אפגעשיידט דורך אַ כיפאַן דינאַמערז אַ קייט אויסדרוק ; קיין כאַראַקטער אַז סאָרץ צווישן די צוויי אותיות, ינקלוסיוו, ניצן די קראַנט לאָקאַל ס קאָללאַטינג סיקוואַנס און כאַראַקטער שטעלן, איז מאַטשט. אויב דער ערשטער כאַראַקטער ווייַטערדיק די [ איז אַ ! אָדער אַ ^ דעמאָלט קיין כאַראַקטער ניט ענקלאָוזד איז מאַטשט. די סאָרטינג סדר פון אותיות אין קייט אויסדרוקן איז באשלאסן דורך די קראַנט לאָקאַל און די ווערט פון די LC_COLLATE שאָל בייַטעוודיק, אויב שטעלן. א - קען זיין מאַטשט דורך אַרייַנגערעכנט עס ווי דער ערשטער אָדער לעצט כאַראַקטער אין דעם גאַנג. א ] קען זיין מאַטשט דורך אַרייַנגערעכנט עס ווי דער ערשטער כאַראַקטער אין דעם גאַנג.

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

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

ין [ און ] , אַן עקוויוואַלאַנס קלאַס קענען זיין ספּעסאַפייד ניצן די סינטאַקס [= C =] , וואָס גלייַכן אַלע אותיות מיט די זעלבע קאָלאָראַטיאָן וואָג (ווי דיפיינד דורך די קראַנט לאָקאַל) ווי די כאַראַקטער c .

אין [ און ] , דער סינטאַקס [. סימבאָל .] גלייַכן די קאָללאַטינג סימבאָל סימבאָל .

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

? ( מוסטער-רשימה )

גלייַכן נול אָדער איין פּאַסירונג פון די געגעבן פּאַטערנז

* ( מוסטער-רשימה )

גלייַכן נול אָדער מער געשעענישן פון די געגעבן פּאַטערנז

+ ( מוסטער-רשימה )

גלייַכן איינער אָדער מער געשעענישן פון די געגעבן פּאַטערנז

@ ( מוסטער-רשימה )

גלייַכן פּונקט איינער פון די געגעבן פּאַטערנז

! ( מוסטער-רשימה )

גלייַכן עפּעס אַחוץ איינער פון די געגעבן פּאַטערנז

ציטירן רעמאָוואַל

נאָך די פּריסטאַסינג יקספּאַנדשאַנז, אַלע אַנקוואַטיד געשעענישן פון די אותיות \ , ' , און " וואָס ניט רעזולטאַט פון איינער פון די אויבן יקספּאַנדשאַנז זענען אַוועקגענומען.

REDIRECTION

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

אין די פאלגענדע דיסקריפּשאַנז, אויב די טעקע דעסקריפּטאָר נומער איז אַוועקגענומען, און דער ערשטער כאַראַקטער פון די רידערעקשאַן אָפּעראַטאָר איז < , די רעדירעקטיאָן רעפערס צו די נאָרמאַל אַרייַנשרייַב (טעקע דעסקריפּטאָר 0). אויב דער ערשטער כאַראַקטער פון די רידערעקשאַן אָפּעראַטאָר איז > , די רידערעקשאַן רעפערס צו דער נאָרמאַל רעזולטאַט (טעקע דעסקריפּטאָר 1).

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

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

ls > dirlist 2 > & 1

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

ls 2 > & 1 > dirlist

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

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

/ dev / fd / fd

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

/ dev / stdin

טעקע דעסקריפּטאָר 0 איז דופּליקייטיד.

/ dev / stdout

טעקע דעסקריפּטאָר 1 איז דופּליקייטיד.

/ dev / stderr

טעקע דעסקריפּטאָר 2 איז דופּליקייטיד.

/ dev / tcp / host / port

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

/ דעוו / ודפּ / באַלעבאָס / פּאָרט

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

א דורכפאַל צו עפענען אָדער שאַפֿן אַ טעקע זייַנען די רידערעקשאַן צו פאַרלאָזן.

רעדירעקטינג ינפּוט

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

דער גענעראַל פֿאָרמאַט פֿאַר רידערעקטינג אַרייַנשרייַב איז:

[ n ] < וואָרט

רעדירעקטעד רעזולטאַט

רעדירעקטיאָן פון רעזולטאַט ז. דער טעקע וועמענס נאָמען רעזולטאטן פון דער יקספּאַנשאַן פון וואָרט צו זיין געעפנט פֿאַר שרייבן אויף טעקע דעסקריפּטאָר ן , אָדער דער נאָרמאַל רעזולטאַט (טעקע דעסקריפּטאָר 1) אויב n איז ניט ספּעסאַפייד. אויב די טעקע טוט נישט עקסיסטירן עס איז באשאפן; אויב עס איז עקסיסטירט, עס איז טראַנגקייטיד צו נול גרייס.

דער גענעראַל פֿאָרמאַט פֿאַר רידערעקטינג רעזולטאַט איז:

[ n ] > וואָרט

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

אַפּפּענדעד רידערעקטיד רעזולטאַט

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

דער גענעראַל פֿאָרמאַט פֿאַר אַפּפּענדינג רעזולטאַט איז:

[ n ] >> וואָרט

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

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

עס זענען צוויי פאָרמאַץ פֿאַר רידערעקטינג נאָרמאַל רעזולטאַט און נאָרמאַל טעות:

&> word

און

> & וואָרט

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

> וואָרט 2 > & 1

דאָ דאקומענטן

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

דער פֿאָרמאַט פון דאָ-דאקומענטן איז:

<< [ - ] וואָרט דאָ-דאָקומענט דעלימיטאָר

ניט פּאַראַמעטער יקספּאַנשאַן, באַפֿעל סאַבסטיטושאַן, אַריטמעטיק יקספּאַנשאַן, אָדער פּאַדנאַמע יקספּאַנשאַן איז געטאן אויף וואָרט . אויב קיין אותיות אין וואָרט זענען ציטירט, די דעלימיטאָר איז דער רעזולטאַט פון ציטירן באַזייַטיקונג אויף וואָרט , און די שורות אין דעם דאָ-דאָקומענט זענען נישט יקספּאַנדיד. אויב וואָרט איז אַנקוואָוטיד, אַלע שורות פון דעם דאָ-דאָקומענט זענען אונטערטעניק צו פּאַראַמעטער יקספּאַנשאַן, באַפֿעל סאַבסטיטושאַן, און אַריטמעטיק יקספּאַנשאַן. אין די לעצטע פאַל, די סימפּלע סיבה \ <נעוולינע> איז איגנאָרירט, און \ מוזן זיין געניצט צו ציטירן די אותיות \ , $ , און ` .

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

Here Strings

א וואַריאַנט פון דאָ דאקומענטן, די פֿאָרמאַט איז:

<<< word

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

דופּליקייטינג טעקע דעסקריפּטאָרס

דער רידערעקציע אָפּעראַטאָר

[ n ] <& וואָרט

איז געניצט צו דופּליקאַט אַרייַנשרייַב טעקע דעסקריפּטאָרס. אויב וואָרט יקספּאַנדז צו איינער אָדער מער סיגנאַלז, די טעקע דעסקריפּטאָר דינאַמד דורך n איז געמאכט צו זיין אַ קאָפּיע פון ​​דעם טעקע דעסקריפּטאָר. אויב די נומערן אין וואָרט טאָן ניט ספּעציפיצירן אַ טעקע דעסקריפּטאָר עפענען פֿאַר אַרייַנשרייַב, אַ רידערעקשאַן טעות אַקערז. אויב וואָרט ייטאַמז צו - , דער טעקע דעסקריפּטאָר N איז פארשלאסן. אויב n איז ניט ספּעסאַפייד, די נאָרמאַל אַרייַנשרייַב (טעקע דעסקריפּטאָר 0) איז געניצט.

דער אָפּעראַטאָר

[ n ] > & וואָרט

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

מאָווינג טעקע דעסקריפּטאָרס

דער רידערעקציע אָפּעראַטאָר

[ n ] <& ציפֿער -

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

סימילאַרלי, דער רידערעקשאַן אָפּעראַטאָר

[ n ] > & ציפֿער -

באוועגט דער טעקע דעסקריפּטאָר ציפֿער צו טעקע דעסקריפּטאָר ן , אָדער דער סטאַנדאַרד רעזולטאַט (טעקע דעסקריפּטאָר 1) אויב n איז ניט ספּעסאַפייד.

עפן טעקע דעסקריפּטאָרס פֿאַר לייענען און שרייַבן

דער רידערעקציע אָפּעראַטאָר

[ n ] <> וואָרט

זייַנען די טעקע וועמענס נאָמען איז די יקספּאַנשאַן פון וואָרט צו זיין געעפנט פֿאַר ביידע לייענען און שרייַבן אויף טעקע דעסקריפּטאָר N , אָדער אויף טעקע דעסקריפּטאָר 0 אויב n איז ניט ספּעסאַפייד. אויב די טעקע טוט נישט עקסיסטירן, עס איז באשאפן.

ALIASES

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

אַליאַסיז זענען באשאפן און ליסטעד מיט די אַליאַס באַפֿעל, און אַוועקגענומען מיט די ונאַליאַס באַפֿעל.

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

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

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

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

FUNCTIONS

א שאָל פונקציע, דיפיינד ווי דיסקרייבד אויבן אונטער שעל גראַממאַר , סטאָרז אַ סעריע פון ​​קאַמאַנדז פֿאַר שפּעטער דורכפירונג. ווען דער נאָמען פון אַ שאָל פֿונקציע איז געניצט ווי אַ פּשוט באַפֿעלן נאָמען, די רשימה פון קאַמאַנדז פארבונדן מיט דעם פֿונקציע נאָמען איז עקסאַקיוטיד. פאַנגקשאַנז זענען עקסאַקיוטאַד אין דעם קאָנטעקסט פון די קראַנט שאָל; קיין נייַ פּראָצעס איז באשאפן צו טייַטשן זיי (קאַנטראַסט דעם מיט דער דורכפירונג פון אַ שאָל שריפט). ווען אַ פֿונקציע איז עקסאַקיוטאַד, די אַרגומענטן צו די פֿונקציע ווערן די פּאָסיטיווע פּאַראַמעטערס בעשאַס זייַן דורכפירונג. דער ספּעציעל פּאַראַמעטער # איז דערהייַנטיקט צו פאַרטראַכטנ די ענדערונג. שטעלע פּאַראַמעטער 0 איז אַנטשיינדזשד. די פֿונקנאַמע בייַטעוודיק איז באַשטימט צו די נאָמען פון די פֿונקציע בשעת די פֿונקציע איז עקסאַקיוטאַד. אַלע אנדערע אַספּעקץ פון די שאָל דורכפירונג סוויווע זענען יידעניקאַל צווישן אַ פֿונקציע און זייַן קאַללער מיט די ויסנעם אַז די דעבוג טראַפּ (זען די באַשרייַבונג פון די טראַפּ געבויט אונטער שעל באַילטין קאַמאַנדז אונטן) איז נישט ינכעראַטיד סייַדן די פונקציע איז געגעבן די שפּור אַטריביוט זען די באַשרייַבונג פון די דערקלערן געבויט ין).

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

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

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

פונקטיאָנס קען זיין רעקורסיווע. ניט קיין שיעור איז ימפּאָוזד אויף די נומער פון רעקורסיווע רופט.

ARITHMETIC EVALUATION

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

id ++ id -

בייַטעוודיק פּאָסטן-ינקראַמאַנץ און פּאָסטן-דעקרעמענט

++ id - id

בייַטעוודיק פאַר-ינקראַמאַנט און פאַר - דעקרעמענט

- +

וני מינוס און פּלוס

! ~

לאַדזשיקאַל און בייסיקלי נעגאַטיוו

**

exponentiation

* /%

מולטיפּליקאַטיאָן, דיוויזיע, רעשט

+ -

דערצו, כיסער

<< >>

לינקס און רעכט ביטוויסע שיפץ

<=> = <>

פאַרגלייַך

==! =

גלייַכגילט און יניקוואַלאַטי

&

bitwise AND

^

bitwise exclusive OR

|

bitwise OR

&&

logical AND

||

logical OR

expr ? expr : expr

conditional evaluation

= * = / =% = + = - = << = >> = & = ^ = | =

אַסיינמאַנט

expr1 , expr2

קאָמע

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

קאָנסטאַנץ מיט אַ לידינג 0 זענען ינטערפּראַטאַד ווי אָקטאַל נומערן. א לידינג 0 קס אָדער 0 קס דיליץ העקסאַדעסימאַל. אַנדערש נומערן נעמען די פאָרעם [ באַזע # ] n, ווו באַזע איז אַ דעצימאַל נומער צווישן 2 און 64 רעפּראַזענץ די אַריטמעטיק באַזע, און n איז אַ נומער אין אַז באַזע. אויב באַזע # איז אַוועקגענומען, דעמאָלט באַזע 10 איז געניצט. די סיגנאַלז גרעסער ווי 9 זענען רעפּריזענטיד דורך די ליטוויש אותיות, די ופּפּערקאַסע אותיות, @, און _, אין דעם סדר. אויב באַזע איז ווייניקער ווי אָדער גלייַך צו 36, לאָווערקאַסע און גרויס אותיות קען זיין געניצט ינטערטשאַנגאַבלי צו פאָרשטעלן נומערן צווישן 10 און 35.

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

CONDITIONAL EXPRESSIONS

קאָנדיטיאָנאַל אויסדרוקן זענען געניצט דורך די קאָמבינאַציע באַפֿעלן און די פּראָבע און [ געבויטין קאַמאַנדז צו פּרובירן טעקע אַטראַביוץ און דורכפירן שטריקל און אַריטמעטיק קאַמפּעראַסאַנז. עקספּרעססיאָנס זענען געשאפן פון די פאלגענדע ונאַרי אָדער ביינערי פּריייטערז. אויב קיין טעקע אַרגומענט צו איינער פון די פּריימערז איז פון די פאָרעם / דעוו / פד / N , דעמאָלט טעקע דעסקריפּטאָר N איז אָפּגעשטעלט. אויב די טעקע אַרגומענט צו איינער פון די פּריימעריז איז איינער פון די / dev / stdin , / dev / stdout , אָדער / dev / stderr , טעקע דעסקריפּטאָר 0, 1, אָדער 2, ריספּעקטיוולי, איז אָפּגעשטעלט.

אַ טעקע

אמת אויב טעקע עקסיסטירט.

טעקע

אמת אויב טעקע יגזיסץ און איז אַ בלאָק ספּעציעל טעקע.

-c טעקע

אמת אויב טעקע יגזיסץ און איז אַ כאַראַקטער ספּעציעל טעקע.

-d טעקע

אמת אויב טעקע יגזיסץ און איז אַ וועגווייַזער.

טעקע

אמת אויב טעקע עקסיסטירט.

-f טעקע

אמת אויב טעקע יגזיסץ און איז אַ רעגולער טעקע.

טעקע

אמת אויב טעקע יגזיסץ און איז שטעלן-גרופע-שייַן.

טעקע

אמת אויב טעקע יגזיסץ און איז אַ סימבאָליש לינק.

-k טעקע

אמת אויב טעקע יגזיסץ און זייַן `` קלעפּיק '' ביסל איז באַשטימט.

-פּ טעקע

אמת אויב טעקע יגזיסץ און איז אַ געהייסן רער (פיפאָ).

טעקע

אמת אויב טעקע יגזיסץ און איז ליינעוודיק.

טעקע

אמת אויב טעקע יגזיסץ און האט אַ נומער גרעסער ווי נול.

-t fd

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

טעקע

אמת אויב טעקע יגזיסץ און זייַן שטעלן-באַניצער-שייַן ביסל איז באַשטימט.

-וו טעקע

אמת אויב טעקע יגזיסץ און איז שרייַבן.

-x טעקע

אמת אויב טעקע יגזיסץ און איז עקסאַקיוטאַבאַל.

טעקע

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

טעקע

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

-L טעקע

אמת אויב טעקע יגזיסץ און איז אַ סימבאָליש לינק.

-S טעקע

אמת אויב טעקע יגזיסץ און איז אַ כאָלעל.

טעקע

אמת אויב טעקע יגזיסץ און איז געווארן מאדיפיצירט זינט עס איז געווען לעצט לייענען.

file1 - נט פילעס 2

אמת אויב file1 איז נייַער (לויט צו מאַדאַפאַקיישאַן טאָג) ווי פילע 2 , אָדער אויב טעקע1 יגזיסץ און פילע 2 טוט נישט.

טעקע 1 - אָדער פילע 2

אמת אויב file1 איז עלטערע ווי file2 , אָדער if file2 exists and file1 does not.

file1 -ef file2

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

-o optname

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

סטרינג

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

שטריקל

שטריקל

אמת אויב די לענג פון שטריקל איז ניט-נול.

string1 == string2

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

string1 ! = string2

אמת אויב די סטרינגס זענען נישט גלייַך.

string1 < string2

אמת אויב סטרינג 1 סאָרץ פֿאַר סטרינג 2 לעקסיקאָגראַפיקלי אין די קראַנט לאָקאַלע.

string1 > string2

אמת אויב סטרינג 1 סאָרץ נאָך סטרינג 2 לעקסיקאָגראַפיקלי אין די קראַנט לאָקאַלע.

arg1 OP arg2

אַפּ איז איינער פון -עק , , -ליט , -לע , -גס , אָדער -גע . די אַריטמעטיק ביינערי אָפּערייטערז צוריקקומען אמת אויב arg1 איז גלייַך צו, ניט גלייַך צו, ווייניקער ווי, ווייניקער ווי אָדער גלייַך צו, גרעסער ווי, אָדער גרעסער ווי אָדער גלייַך צו אַרג 2 , ריספּעקטיוולי. Arg1 און arg2 קען זיין positive אָדער נעגאַטיוו ינטאַדזשערז.

פּשוט קאַמאַנד יקספּאַנס

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

1.

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

2.

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

3.

רעדירעקטיאָנס זענען געטאן ווי דיסקרייבד אויבן אונטער רעדירעקשאַן .

4.

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

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

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

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

COMMAND EXECUTION

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

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

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

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

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

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

COMMAND EXECUTION ENVIRONMENT

די שאָל האט אַ דורכפירונג סוויווע , וואָס באשטייט פון די פאלגענדע:

*

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

*

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

*

דער טעקע שאַפונג מאָדע מאַסקע ווי שטעלן דורך umask אָדער inherited from the parent's parent

*

קראַנט טראַפּס שטעלן דורך טראַפּ

*

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

*

שאָל פאַנגקשאַנז דיפיינד בעשאַס עקסעקוטיאָן אָדער ינכעראַטיד פון די פאָכער פון די שאָל אין די סוויווע

*

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

*

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

*

שאָל אַליאַסיז דיפיינד מיט אַליאַס

*

פאַרשידן פּראָצעס ידס, אַרייַנגערעכנט יענע פון ​​הינטערגרונט דזשאָבס, די ווערט פון $$ , און די ווערט פון $ פּפּיד

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

*

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

*

די קראַנט ארבעטן וועגווייַזער

*

דער טעקע שאַפונג מאָדע מאַסקע

*

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

*

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

א באַפֿעל ינוואָוקט אין דעם באַזונדער סוויווע קענען נישט ווירקן די ויספיר סוויווע.

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

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

זען אויך

באַש רעפערענץ מאַנואַל , ברייאַן פאָקס און טשעט ראַמי

די גנו לייוולינע ביבליאָטעק , ברייאַן פאָקס און טשעט ראַמי

די גנו געשיכטע ביבליאָטעק , ברייאַן פאָקס און טשעט ראַמי

פּאָרטאַבלע אַפּערייטינג סיסטעם צובינד (פּאָסיקס) טייל 2: שאָל און וטיליטיעס , יעעע

ש (1), קש (1), קש (1)

עמאַקס (1), וויי (1)

readline (3)