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

NAME

ש - באַפֿעלן יבערזעצער ( שאָל )

SYNOPSIS

sh [- / + aCefnuvxIimqsVEbc ] [- o longname ] -words [ ציל ... ]

DESCRIPTION

ש איז די סטאַנדאַרט קאָמאַנדע יבערזעצער פֿאַר די סיסטעם. די קראַנט ווערסיע פון ש איז אין דעם פּראָצעס פון זייַענדיק פארענדערט צו קאַנפאָרם מיט די פּאָסיקס 1003.2 און 1003.2 אַ ספּעסאַפאַקיישאַנז פֿאַר די שאָל. דעם ווערסיע האט פילע פֿעיִקייטן וואָס מאַכן עס דערשייַנען ענלעך אין עטלעכע שייכות צו די קאָרנ שאָל, אָבער עס איז נישט אַ קאָרנ שאָל קלאָון (זען קש (1)). בלויז פֿעיִקייטן וואָס זענען באַשטימט דורך פּאָסיקס plus a few Berkeley extensions, are incorporated into this shell. מיר דערוואַרטן פּאָסיקס קאָנפאָרמאַנסע דורך די צייַט 4.4 BSD איז באפרייט. דעם מענטש בלאַט איז ניט בדעה צו זיין אַ טוטאָריאַל אָדער אַ גאַנץ באַשרייַבונג פון די שאָל.

איבערבליק

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

ינוואָקאַטיאָן

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

ענוו = $ HOME / .שיניט; עקספּאָרט ענוו

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

פאַל $ - אין * איך *)

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

...

esac

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

אַררומענט ליסטע פּראַסעסינג

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

-a allexport

אַרויספירן אַלע וועריאַבאַלז אַטאַטשט צו. (ונלימיטעד פֿאַר 4.4 אַלפאַ)

-c

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

נאָקלאָבבער

טאָן ניט יבערשיקן יגזיסטינג טעקעס מיט ``> '' (ונימפּלעמענטעד פֿאַר 4.4 אַלפאַ)

-עס פאַלן

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

-f noglob

דיסאַבלע ומדריי .

נאָעקסעק

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

נאָונסעט

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

-v verbose

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

-x xtrace

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

-q quietprofile

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

-אויסגעדרייט

Ignore EOF's פון אַרייַנשרייַב ווען ינטעראַקטיוו.

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

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

מאָניטאָר

קער אויף אַרבעט קאָנטראָל (שטעלן אויטאָמאַטיש ווען ינטעראַקטיוו).

-s סטדין

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

-V vi

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

-E emacs

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

געבנ צו וויסן

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

לעקסיקעל סטראַקטשער

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

"קאָנטראָל אָפּערייטערז:"

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

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

<>> | << >> <&> & << - <>

קוואָטינג

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

Backslash

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

איין קוואָטעס

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

Double Quotes

ענקלאָוזינג אותיות ין טאָפּל קוואָטעס ייַנגעמאַכץ די ליטעראַל טייַטש פון אַלע אותיות אַחוץ דאָללאַרסיגן ($) צוריקקוקן (`) און באַקסשאַש (\) די באַקסלאַש ין טאָפּל ציטירט איז כיסטאָריקלי טשודנע, און דינען צו ציטירן בלויז די ווייַטערדיק אותיות:

$ `\ <נעוולינע>

אַנדערש עס בלייבט ליטעראַל.

Reserved Words

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

! צו עלף טאַ טאַ בשעת טאַ קאַסטן

אַנדערש טאַ פֿאַר טאַ דעמאָלט טאַ {טאַ}

טאָן טאַ געטאן טאַ ביז טאַ אויב טאַ עסאַק

זייער טייַטש איז דיסקערידזשד שפּעטער.

Aliases

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

לאָזנ שווימען <צוריקקומען>

וואָלט ווערן

ls -F foobar

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

קאַמאַנדז

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

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

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

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

רעדירעקטיאָנס

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

[n] רעדיר-אָפּ טעקע

ווו רעדיר-אָפּ איז איינער פון די רעדירעקטיאָן אָפּערייטערז, וואס זענען פריער באמערקט. ווייַטערדיק איז אַ רשימה פון די מעגלעך רעדירעקשאַנז. די Bq n איז אַ אַפּשאַנאַל נומער, ווי אין `3 '(נישט` בק 3' וואָס רעפערס צו אַ טעקע דעסקריפּטאָר.

[n]> טעקע

רעדירעקט נאָרמאַל פּראָדוקציע (אָדער N) צו טעקע.

[n]> | טעקע

זעלביקער, אָבער אָווועררייד די - C אָפּציע.

[n] >> טעקע

צולייגן נאָרמאַל רעזולטאַט (אָדער N) צו טעקע.

[n] <טעקע

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

[נ 1] <& נ 2

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

[n] <& -

נאָענט נאָרמאַל אַרייַנשרייַב (אָדער n).

[נ 1] & נ 2

דופּליקאַט נאָרמאַל רעזולטאַט (אָדער נ 1) פון נ 2.

[n]> & -

נאָענט נאָרמאַל פּראָדוקציע (אָדער n).

[n] <> טעקע

עפענען טעקע פֿאַר לייענען און שרייבן אויף נאָרמאַל אַרייַנשרייַב (אָדער n).

די פאלגענדע רידערעקשאַן איז אָפט גערופן אַ `` דאָ-דאָקומענט ''

[n] << דעלימיטאָר

דאָ-שולדבאַנק-טעקסט ...

דעלימיטאָר

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

זוכן און עקסעקוטיאָן

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

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

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

אַנדערש, אויב די באַפֿעלן נאָמען טוט נישט גלייַכן אַ פֿונקציע אָדער געבויט, דער באַפֿעל איז געזוכט ווי אַ נאָרמאַל פּראָגראַם אין די פילעסיסטעם (ווי דיסקרייבד אין דער ווייַטער אָפּטיילונג). ווען אַ נאָרמאַל פּראָגראַם איז עקסאַקיוטאַד, די שאָל לויפט די פּראָגראַם, גייט פארביי די אַרגומענטן און די סוויווע צו די פּראָגראַם. אויב די פּראָגראַם איז נישט אַ נאָרמאַל עקסאַקיוטאַבאַל טעקע (ד"ה, אויב עס טוט נישט אָנהייבן מיט די "מאַגיש נומער" וועמענס ASCII פאַרטרעטונג איז "#!", אַזוי עקסאַקווע (2) קערט ער ענאָעקסעק דעמאָלט) די שאָל וועט טייַטשן דעם פּראָגראַם אין אַ subshell. דער קינד שאָל וועט רעינסטאַלירן זיך אין דעם פאַל, אַזוי אַז דער ווירקונג וועט זיין ווי אויב אַ נייַ שאָל איז גערופן צו אַדאַפּט דעם אַד-האָק שאָל שריפט, חוץ אַז די אָרט פון האַשעד קאַמאַנדז ליגן אין די פאָטער שאָל וועט ווערן דערמאנט דורך די קינד.

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

Path Search

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

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

באַפֿעלן אַרויסגאַנג סטאַטוס

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

קאָמפּלעקס קאַמאַנדז

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

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

פּיפּעלינעס

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

דער פֿאָרמאַט פֿאַר אַ רערנ - ליניע איז:

[!] command1 [| command2 ...]

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

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

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

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

$ command1 2> & 1 | command2

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

א; אָדער <נעוולינע> טערמינאַטאָר זייַנען די פּריסטאַסינג AND-OR-רשימה (דיסקרייבד ווייַטער) צו זיין עקסאַקיוטאַד סאַקווענטשאַלי; אַ & ז אַסינטשראָנאָוס דורכפירונג פון די פּריסטאַסינג און-אָר-רשימה.

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

Background Commands -

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

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

command1 & [command2 & ...]

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

ליס - אַלגעמיין גערעדט

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

קורץ-קרייַז ליסטע אָפּעראַטאָרס

`` && '' און `` || '' זענען AND-OR רשימה אָפּערייטערז. `` && '' עקסאַקיוץ דער ערשטער באַפֿעל, און דעמאָלט עקסאַקיוץ די רגע באַפֿעל אויב די אַרויסגאַנג סטאַטוס פון די ערשטער באַפֿעל איז נול. `` || '' איז ענלעך, אָבער עקסאַקיוץ די רגע באַפֿעל אויב די אַרויסגאַנג סטאַטוס פון די ערשטער באַפֿעל איז נאָנזעראָ. `` && '' און `` || '' ביידע האָבן די זעלבע בילכערקייַט.

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

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

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

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

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

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

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

פֿאַר בייַטעוודיק אין וואָרט ...
טאָן רשימה
געטאן

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

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

ברעכן [נומ]
פאָרזעצן [נאָמען]

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

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

פאַל וואָרט אין
מוסטער) רשימה;
...
esac

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

גראָוינג קאָממאַנדס צוזאַמען

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

(רשימה)

אָדער

{list;

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

{printf hello; printf world \ n ";}> גרוס

פאַנגקשאַנז

דער סינטאַקס פון אַ פֿונקציע דעפֿיניציע איז

נאָמען () באַפֿעל

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

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

היגע [בייַטעוודיק | -] ...

לאקאלע איז ימפּלאַמענטאַד ווי אַ געבויט געבאָט.

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

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

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

צוריקקומען [עקסיטסטאַטוס

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

וואַריאַבאַלז און פּאַראַמעטערס

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

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

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

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

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

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

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

*

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

@

יקספּאַנדז צו די פּאָסיטיווע פּאַראַמעטערס, סטאַרטינג פון איין. ווען די יקספּאַנשאַן אַקערז אין טאָפּל קוואָטעס, יעדער שטעלע פּאַראַמעטער יקספּאַנדז ווי אַ באַזונדער אַרגומענט. אויב עס זענען קיין פּאָסיטיווע פּאַראַמעטערס, די יקספּאַנשאַן פון @ דזשענערייץ נול טענות, אַפֿילו ווען @ איז טאָפּל-ציטירטן. וואָס דאָס בייסיקלי מיטל, פֿאַר בייַשפּיל, איז אויב $ 1 איז `` אַבק '' און $ 2 איז `` דעף גהי '' און Qq $ @ יקספּאַנדז צו די צוויי טענות:

אַבק דעף גהי

#

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

?

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

- (היפען.)

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

$

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

!

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

0 (זעראָ)

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

וואָרט יקספּאַנשאַן

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

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

די סדר פון וואָרט יקספּאַנשאַן איז:

  1. צוריק יקספּאַנשאַן, פּאַראַמעטער עקספּאַנסיאָן, קאַמאַנד סאַבסטיטושאַן, אַריטמעטיק עקספּאַנסיאָן (די אַלע פאַלן אין דער זעלביקער צייַט).
  2. פעלד ספּליטינג איז געטאן אויף פעלדער דזשענערייטאַד דורך שריט (1) אויב די IFS בייַטעוודיק איז נאַל.
  3. פּאַטהנאַמע עקספּאַנסיאָן (סייַדן שטעלן - ו איז אין ווירקונג).
  4. ציטירן רעמאָוואַל.

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

צוריק יקספּאַנשאַן (סאַבסטיטוטינג אַ באַניצער 'ס היים וועגווייַזער)

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

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

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

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

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

די ווערט, אויב עס איז, פון פּאַראַמעטער איז סאַבסטאַטוטאַד.

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

  1. פּאַטהנאַמע יקספּאַנשאַן איז נישט געטאן אויף די רעזולטאטן פון דער יקספּאַנשאַן.
  2. פעלד ספּליטינג איז נישט געטאן אויף די רעזולטאַטן פון די יקספּאַנשאַן, מיט די ויסנעם פון @.

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

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

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

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

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

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

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

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

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

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

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

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

Command Substitution

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

$ (באַפֿעלן)

אָדער פּאָ `` צוריק קוואָטעד '' ווערסיע פּיסי:

`Command`

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

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

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

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

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

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

ווייַס ספעיס ספּליטינג (פעלד ספּליטינג)

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

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

פּאַטהדאַמע עקספּאַנסיאָן (טעקע נאָמען גענעראַטיאָן)

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

Shell Patterns

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

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

צו אַרייַננעמען אַ ``] '' אין אַ כאַראַקטער קלאַס, מאַכן עס דער ערשטער כאַראַקטער ליסטעד (נאָך די ``! '' אויב קיין). צו אַרייַננעמען אַ מינוס צייכן, מאַכן עס דער ערשטער אָדער לעצט כאַראַקטער ליסטעד

Builtins

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

:

א נאַל באַפֿעל אַז קערט אַ 0 (אמת) אַרויסגאַנג ווערט.

. טעקע

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

אַליאַס [ נאָמען [ = שטריקל ... ]]

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

בג [ אַרבעט] ...

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

באַפֿעל באַפֿעלן אַרג ...

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

קד [ Directory ]

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

eval string ...

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

exec [ באַפֿעל אַרג ... ]

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

אַרויסגאַנג [ עקסיטסטאַטוס ]

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

אַרויספירן נאָמען ...

export -p

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

אַרויספירן נאָמען = ווערט

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

fc [- e רעדאַקטאָר ] [ ערשטער [ לעצט ]]

פק-ל [- נר ] [ ערשטער [ לעצט ]]

fc-s [ old = new ] [ ערשטער ]

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

-e רעדאַקטאָר

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

-ל (על)

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

יבערזעצונג באַפֿעל נומערן ווען ליסטינג מיט -ל.

-r

פאַרקערט די סדר פון די קאַמאַנדז ליסטעד (מיט - ך אָדער עדיטיד (מיט ניט - ך אדער - s)

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

ערשטער

last

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

[+] נומער

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

-נומער

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

שטריקל

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

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

FCEDIT

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

HISTSIZE

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

פג [ אַרבעט ]

מאַך דעם ספּעסאַפייד אַרבעט אָדער דעם קראַנט אַרבעט צו די פאָרגראַונד.

getopts optstring var

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

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

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

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

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

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

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

בשעת געטאַפּץ אַבק: ו
טאָן
פאַל $ f אין
אַ | b) flag = $ f;
c) carg = $ אָפּטאַרג;
\?) ווידער $ USAGE; אַרויסגאַנג 1 ;;
esac
געטאן
שיפט `עקספּר $ אָפּטינד - 1`

דעם קאָד וועט אָננעמען קיין פון די פאלגענדע ווי עקוויוואַלענט:

קמד-אַקאַרג טעקע טעקע
קמד -אַ -ק אַרג טעקע טעקע
קמד-קאַרג-אַ טעקע טעקע
קמד -אַ-קאַרג - טעקע טעקע

hash -rv command ...

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

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

jobid [ אַרבעט ]

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

דזשאָבס

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

pwd

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

לייענען [- פּ פּינטלעך ] [- ר ] בייַטעוודיק ...

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

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

לידאָנלי נאָמען ...

readonly -p

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

לידאָנלי נאָמען = ווערט

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

שטעלן {{- אָפּציעס | + אָפּציעס | - אַרג ... ]

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

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

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

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

variable value

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

יבעררוק [ n ]

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

times

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

טראַפּ קאַמף סיגנאַל ...

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

טיפּ [ נאָמען ... ]

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

ulimit [- H ] - [- a -tfdscmlpn [ ווערט ]]

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

שטעלן אָדער פרעגן וועגן שווער לימאַץ

-S

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

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

-a

ווייַזן אַלע די קראַנט לימאַץ

-t

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

-f

ווייַזן אָדער באַשטימען די שיעור אויף די גרעסטן טעקע וואָס קען זיין באשאפן (אין 512-בייט בלאַקס)

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

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

-c

ווייַזן אָדער באַשטימען דעם שיעור אויף די גרעסטע האַרץ דאַמפּ גרייס וואָס קענען זיין געשאפן (אין 512-בייטן בלאַקס)

-m

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

-l

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

-פּ

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

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

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

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

umask [ מאַסקע ]

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

ונאַליאַז [- אַ ] [ נאָמען ]

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

ונסעט נאָמען ...

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

וואַרטן [ אַרבעט ]

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

באַפֿעלן שורה עדיטינג

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

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