כמעט כל סקריפט מעטפת לינוקס מתחיל בשורה שמתחילה ב-"#!". זה ידוע בשם "שבנג". הנה כל מה שאתה צריך לדעת על זה.
אולי ראית שורה מוזרה שמתחילה ב-"#!בתחילת סקריפטים של לינוקס ותהיתי מה זה. זה נקרא "קו shebang" והוא מאפשר ללינוקס לומר באיזה מתורגמן להשתמש. ככה זה עובד.
מהו קו שבנג?
למערכת לינוקס יש סקריפטים רבים האוטומטיים משימות משק בית שונות. משתמשים ומנהלי מערכת גם כותבים סקריפטים משלהם.
למרות עלייתן של שפות סקריפטים פופולריות כמו רובי או פייתון, הפצות לינוקס מגיעות בדרך כלל גם בכמה מעטפות. Bash הוא תקן דה פקטו בהפצות מיינסטרים, אבל יש הרבה קונכיות זמינות.
יש Zsh, כמו גם C shell, Korn Shell ו-tcsh. וגם דגים. ואז קונכיית בורן הישנה והטובה. אלא שזה בעצם Bash מקושר ל-sh.
אז לא רק שיש שפות סקריפטים שונות, יש מעטפות שונות. לקליפות הללו יש תחבירים ופקודות שונים זה מזה. איך אומרים ללינוקס באיזה מתורגמן להשתמש?
זה מה שעושה קו shebang. זה רצף תווים שמתחיל תסריטים מפורשים. זה לוקח את שמו משני מונחי סלנג עבור "#"ו"!" דמויות. הראשון נקרא "hash". אולי אתה מכיר את זה מהמונח "האשטג".
ה "!" ידוע גם בתור באנג. השילוב של השניים הוא "שבנג", משחק על הביטוי, "השבנג כולו".
כיצד לינוקס מבינה באיזה מתורגמן להשתמש
אולי תשים לב שה"#"תו הוא גם הערה בשפות רבות. כיצד המערכת מונעת קונפליקטים? זה קל. רוב מתורגמני השפה פשוט מתעלמים "#" דמויות אם הן בשורה הראשונה.
הקרנל במקום זאת יסתכל על שורת shebang ויעביר את הסקריפט למתורגמן המתאים.
הגדרת קו Shebang בסקריפטים שלך
להגיד לקרנל איזה מתורגמן להפעיל בסקריפטים שלך זה פשוט. פשוט תשים שם הנתיב המוחלט של המתורגמן שברצונך להפעיל בקו shebang, ואחריו כל האפשרויות.
לדוגמה, כדי להפעיל סקריפט Bash:
#!/bin/bash
תן את התסריט שלך בצע הרשאות באמצעות chmod:
chmod +x script.sh
כעת תוכל להריץ את הסקריפט שלך משורת הפקודה.
עכשיו אתה יודע על קו שבנג
עכשיו אתה יודע איך קו shebang עובד כדי להפעיל סקריפטים בלינוקס. ה "#!" תווים פשוט אומרים לקרנל איזה מתורגמן להפעיל. אחד שמגיע עם רוב מערכות לינוקס הוא Bash.
למרות הפופולריות של שפות סקריפטים כמו Python, Bash נשאר שימושי לכתיבת סקריפטים לאוטומציה של משימות ניהול לינוקס. קל לכתוב ולהריץ סקריפטים של Bash על לינוקס.