אַריטמעטיק אין באַש

ווי צו לייגן קאַלקולאַטיאָנס צו אַ באַש Script

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

לאָזן "ב = 4 * 1024"

וועט רעכענען 4 מאל 1024 און באַשטימען דעם רעזולטאַט צו די בייַטעוודיק "עם".

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

לאָזן "ב = 4 * 1024" עקאָ $ עם

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

לאָזן "ב = 4 * 1024"; echo $ m

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

#! / בין / באַשי לאָזן "ב = 4 * 1024" עקאָ $ ב

אַסומינג די עקסאַקצפּאַסט באַטש ליגן אין / בין / באַש . איר אויך דאַרפֿן צו שטעלן די פּערמישאַנז פון דיין שריפט טעקע אַזוי אַז עס איז עקסאַקיוטאַבאַל. Assuming the script file name is script1.sh , איר קענען שטעלן די פּערמישאַנז צו מאַכן די טעקע עקסאַקיוטאַבאַל מיט דעם באַפֿעל:

chmod 777 script1.sh

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

./script1.sh

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

לאָזן "ב = אַ + 7"

אָדער כיסער:

לאָזן "עם = אַ - 7"

אָדער אָפּטייל:

לאָזן "ב = אַ / 2"

אָדער מאָדולאָ (די רעשט נאָך אַן ינטאַדזשער אָפּטייל):

לאָזן "ב = 100%"

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

לאָזן "ב + = 15"

וואָס איז עקוויוואַלענט צו "ב = מ 15". פֿאַר כיסער מיר האָבן:

לאָזן "ב - = 3"

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

לאָזן "ב / = 5"

וואָס איז עקוויוואַלענט צו "ב = מ / 5". און פֿאַר מאָדולאָ מיר האָבן:

לאָזן "m% = 10"

וואָס איז עקוויוואַלענט צו "ב = מ% 10".

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

לאָזן "מ ++"

איז עקוויוואַלענט צו "ב = מ -1". און

לאָזן "עם -"

איז עקוויוואַלענט צו "עם = עם - 1".

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

לאָזן "ק = (מ <9)? 0: 1"

די רעכט-האַנט זייַט פון דעם אַסיינמאַנט דערקלערונג יוואַליוייץ צו "0" אויב די בייַטעוודיק "עם" איז ווייניקער ווי 9. אַנדערש, עס יוואַליוייץ צו 1. דעם מיטל די בייַטעוודיק "ק" איז אַסיינד "0" אויב "עם" איז ווייניקער ווי 9 און "1" אַנדערש.

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

צושטאַנד? ווערט-אויב-אמת: ווערט-אויב-פאַלש

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

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

echo "32.0 + 1,4" | bc

די "רער" אָפּעראַטאָר "|" פּאַסיז די אַריטמעטיק אויסדרוק "32.0 + 1.4" צו די בק קאַלקולאַטאָר, וואָס קערט דער עמעס נומער. דער עקאָו באַפֿעל פּרינץ דער רעזולטאַט צו דער נאָרמאַל פּראָדוקציע.

אַלטערנאַטיווע סינטאַקס פֿאַר אַריטמעטיק

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

echo `expr $ m + 18`

דעם וועט לייגן 18 צו די ווערט פון די בייַטעוודיק "עם" און דעמאָלט דרוקן די רעזולטאַט.

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

m = `expr $ m + 18`

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

((m * = 4))

דעם וועט פיר שעה די ווערט פון די בייַטעוודיק "עם".

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