וואָס #!/bin/bash מיטל און וואָס עס זאָל זיין געוויינט

לעצטע דערהייַנטיקונג: 20/08/2024

וואס מיינט בינבאש?

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

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

וואָס מיינט #!/bin/bash? באַסיקס

וואָס טוט #!/bin/bash מיינען

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

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

ויסשליסיק אינהאַלט - דריקט דאָ  דער חילוק צווישן אַבסטראַקציע און ענקאַפּסולאַטיאָן

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

פארוואס איז עס גערופן אַ "שאַבאַנג" אָדער "האַשבאַנג" שורה?

טייַטש פון #!/בין/באַש

ווי מיר געזאגט אין די אָנהייב, די שורה #!/bin/bash איז באקאנט אין יוניקס ינווייראַנמאַנץ ווי "שאַבאַנג" אָדער "האַשבאַנג". דער טערמין שטאַמט פון דער פאַרבאַנד פון די נעמען פון די ערשטע צוויי סימבאָלס (#!): "שאַרף" אָדער "האַשטאַג" (#) און די "באַנג" סימבאָל (!). אזוי, א שאַבאַנג (זי-באַנג) אין קאַמפּיוטינג איז די סיקוואַנס פון די נומער צייכן און עקסקלאַמיישאַן פונט אין די אָנהייב פון אַ פּראָגראַממינג שריפט. 

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

  • #!/bin/bash: לויפן די שריפט ניצן די Bash שאָל, מיט די דרך /bin/bash.
  • #!/bin/sh: לויפן די שריפט מיט די באָורנע אָדער אנדערע קאַמפּאַטאַבאַל שאָל.
  • #!/usr/perl-T: לויפן די שריפט ניצן פּערל מיט די טאַם טשעקס אָפּציע.
  • #!/bin/csh-f: לויפן די שריפט מיט די C שאָל אָדער אן אנדער קאַמפּאַטאַבאַל.
  • #!/usr/bin/env פּיטהאָן: לויפן דעם שריפט מיט די ריכטיק ווערסיע פון ​​​​די פּיטהאָן יבערזעצער.
ויסשליסיק אינהאַלט - דריקט דאָ  דער חילוק צווישן יבערזעצער און קאַמפּיילער

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

פּראָגראַממינג אויף מאַקבאָאָק

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

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

ויסשליסיק אינהאַלט - דריקט דאָ  ווי קענען איך פּראָגראַם פאַסטער? פּראַקטיש עצות

לייג אויך די שורה #!/bin/bash אין באַש סקריפּס אַלאַוז די טעקעס צו לויפן סמודלי אויף פאַרשידענע אָפּערייטינג סיסטעמען. פון קורס, פֿאַר דעם צו זיין מעגלעך, די Bash באַפֿעלן יבערזעצער מוזן זיין פריער אינסטאַלירן אויף די סיסטעם. לינוקס און מאַקאָס האָבן עס אינסטאַלירן דורך פעליקייַט אין רובֿ קאַסעס. אויף די אנדערע האַנט, אויב איר נוצן די מיקראָסאָפט אָפּערייטינג סיסטעם, איר וועט האָבן צו נאָכפאָלגן עטלעכע סטעפּס צו ינסטאַלירן Bash אויף Windows 10 e ינסטאַלירן Bash אויף Windows 11.

מסקנא: די #!/bin/bash שורה

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