אם אי פעם כתבת, הורדת או פתחת א תסריט bash, בוודאי נתקלת בשורה ראשונה קצת מוזרה שלא כולם יודעים מה זה אומר ולמה צריך לשים אותה שם. אני מתכוון ל-#!/bin/bash. ובכן, במאמר זה תוכל לדעת את כל הפרטים על איך זה נקרא, למה זה נועד, ואם זה תמיד זהה או אם יש כמה שינויים.
מהי שפה מתפרשת?
Un שפת תכנות מפורשת זה לא צריך להיות קומפילציה כדי לרוץ, אבל ניתן להפעיל אותו ישירות מקוד המקור באמצעות מתורגמן, שהוא לא יותר מאשר תוכנית שיכולה לתרגם את הקוד להוראות מובנות על ידי מכונה. זה מביא כמה יתרונות:
- פלטפורמה מרובה: מכיוון שהוא לא בינארי, ניתן להריץ אותו בפלטפורמות שונות ללא שינוי, וזה יתרון ברור אם אנחנו רוצים שהקוד יעבוד על כל מערכת.
- הִטַלטְלוּת: אם המתורגמן מוכן לפלטפורמה, התסריט או השפה המתפרשים יפעלו על הפלטפורמה הזו.
עם זאת, יש גם לשפות המתפרשות הללו חסרונותיה:
- אחד מהם הוא ביצועים, מכיוון שהם צריכים שהמתורגמן יפעל תמיד ברקע כדי שזה יעבוד.
- משלו תלות של המתורגמן.
כדוגמה ל פירשו שפות אפשר להזכיר כמה, כמו Java, C#, JavaScript, Visual Basic .NET ו-VBScript, Perl, Python, Lips, Ruby, PHP, ASP וכו'.
מהו תסריט?
Un סקריפט זה רק קוד נוצר עם שפת תכנות מפורשת לביצוע משימה. בדרך כלל מדובר בתוכנית פשוטה, עם אירוע של פקודות או פקודות שמתבצעות ברצף.
מה זה #!/bin/bash (shebang)?
לבסוף, הנושא של מאמר זה הוא זה מפורסם #!/bin/bash, המכונה בלשון יוניקס בשבאנג. למרות שזה הנפוץ ביותר, לא תמיד יש צורך להשתמש בו כדי שהתסריט יעבוד. גם לפרוייקטים אחרים יש shebangs משלהם, כגון #!/usr/bin/env python3, #!/bin/sh וכו'.
המטרה של shebang פשוט נותן את הנתיב המלא של המעטפת, כך שניתן יהיה למקם אותו בכל מקום שבו מופעל הסקריפט. כמו כן, כפי שניתן לראות, לא רק הנתיב נקבע בו, אלא גם המתורגמן, במקרים אלו Bash, Python 3, ומתורגמנים נוספים לעבוד איתם.