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

01 פון 08

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

BASH טוטאָריאַל - קאַמפּערינג סטרינגס.

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

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

די אויבן בילד ווייזט דער ערשטער בייַשפּיל אין דעם וואָך ס פירער:

#! / בין / באַש

name1 = "gary"
נאָמען 2 = "באָב"

אויב ["$ name1" = "$ name2"]
then
עקאָו "די נאָמען גלייַכן"
אַנדערש
אפקלאנג "די נעמען טאָן ניט גלייַכן"
פי


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

אַלע די שריפט טוט פאַרגלייַכן די ווערט פון $ names1 און $ names2 און אויב זיי גלייַכן רעזולטאַט די שטריקל "די נעמען גלייַכן" און אויב זיי טאָן ניט רעזולטאַט די שטריקל "די נעמען טאָן ניט גלייַכן".

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

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

איר קענען אויך נוצן די! = נאָוטיישאַן צו באַשליסן ניט גלייַך צו ווי גייט:

אויב ["$ name1"! = "$ name2"]

02 פון 08

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

BASH טוטאָריאַל - קאַמפּערינג סטרינגס.

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

קלאר דער ענטפער איז ניט.

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

דער פאַרקערט פון ווייניקער ווי איז דאָך גרעסער ווי. אַנשטאָט ניצן \ <נוצן \>.

פֿאַר בייַשפּיל

אויב ["$ name1" \ "" $ name2 "]

03 פון 08

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

BASH טוטאָריאַל - קאַמפּערינג סטרינגס.

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

אויב [-ן נאָמען $ 2]

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

04 פון 08

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

BASH טוטאָריאַל - קאַמפּערינג סטרינגס.

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

פֿאַר בייַשפּיל:

name1 = ""

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

אויב [-ז $ name1]

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

05 פון 08

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

BASH טוטאָריאַל - קאַמפּערינג נומערן.

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

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

#! / בין / באַש

אַ = 4
b = 5

אויב [$ a = $ b]
then
echo "4 = 5"
אַנדערש
אפקלאנג "4 טוט נישט גלייַך 5"
פי

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

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

אויב [$ אַ-עק $ ב]

06 פון 08

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

BASH טוטאָריאַל - קאַמפּערינג נומערן.

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

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

פֿאַר בייַשפּיל:

אויב [$ a -lt $ b]

אויב [$ אַ -לע $ ב]

אויב [$ אַ -גע $ ב]

אויב [$ a -gt $ ב]

07 פון 08

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

BASH טוטאָריאַל - קאַמפּערינג נומערן.

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

אויב [$ אַ <> $ b]

אויב [$ אַ-ען $ b]

08 פון 08

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

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

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