אולי שמעתם על Bash - מעטפת ברירת המחדל ברוב ההפצות של לינוקס. יש עוד מעטפת שמגיעה מותקנת מראש בלינוקס: מעטפת Bourne.

מעטפת Bourne היא אחת הקונכיות הוותיקות ביותר שעדיין נמצאות בשימוש במערכות לינוקס מודרניות, למרות שהיא אינה בשימוש נרחב כמו Bash. הנה מה שאתה צריך לדעת על מעטפת Bourne ב-Linux.

מהי מעטפת בורן?

קונכיית בורן, המקוצרת לעתים קרובות ל"sh", נקראת על שמו של מדען המחשבים הבריטי סטיבן ר. בורן, שפיתח אותו כשעבד ב-Bell Labs ב-1978. הקליפה החליפה את מעטפת תומפסון המוקדמת יותר, שנכתבה על ידי אחד היוצרים המקוריים של יוניקס, קן תומפסון.

מעטפת בורן הופיעה לראשונה עם גרסה 7 יוניקס ב-1979. היו לו תכונות כמו בקרת זרימה, משתנים וטיפול משופר במחרוזות. תכונות אלו הקלו על השימוש במעטפת כשפת תכנות במקום רק כדרך להתקשר לתוכניות אחרות.

בעוד שהמעטפת של בורן נשארה פופולרית לכתיבת סקריפטים ניידים במערכות יוניקס, היא הייתה הוחלפה לשימוש אינטראקטיבי על ידי מעטפת C, KornShell, Bourne Again, הידועה גם בשם Bash ו-Z צדף. קונכיות אלה הציעו תכונות כמו היסטוריית פקודות ועריכת שורת פקודה שהפך את החיים לקלים יותר עבור משתמשים ומנהלי מערכת.

instagram viewer

ל-KornShell, Bash ו-Z shell (מכוסה מאוחר יותר) יש תחבירים המושפעים ממעטפת בורן.

שפות סקריפטים חוצות-פלטפורמות חזקות יותר עם תכונות מתקדמות עוד יותר כמו Perl ו-Python גם החליפו במידה רבה את סקריפטים של מעטפת.

ובכל זאת, מעטפת בורן מובנת רחבה והרבה סקריפטים המסופקים עם תוכניות לינוקס משתמשים בתחביר שלה למשימות שונות.

התנהגותו של פגז בורן קודם תקן POSIX, כל כך הרבה מערכות מודרניות דמויות יוניקס מיישמות את זה בדרך כלשהי על ידי שימוש במעטפת תואמת.

חלופות קונכיות מודרניות של בורן

ישנן מספר חלופות מודרניות בקוד פתוח למעטפת בורן המקורית במערכות לינוקס. הנה כמה מהידועים ביותר:

1. Bourne Again Shell (Bash)

השם פגז בורן שוב (באש) הוא משחק על מעטפת בורן. מעטפת זו פותחה במקור כרכיב של מערכת GNU, והקדימה את לינוקס במשך מספר שנים.

זה תואם במידה רבה לתסריטים שנכתבו במקור עבור מעטפת בורן. הוא גם שילב תכונות כמו עריכת שורת פקודה שמקורה ב-KornShell.

Bash היא מעטפת ברירת המחדל בהפצות לינוקס רבות ולכן הפכה לתקן דה פקטו בפני עצמו.

2. קורנשל

קורנשל, הידוע גם בשם ksh, פותח במקור על ידי דיוויד קורן, גם הוא במעבדות בל, בשנות ה-80. נבנה על גבי מעטפת בורן, KornShell הציגה כמה תכונות נוספות כמו בקרת עבודה, מערכים ועריכת שורת פקודה. זה האחרון היה מאפיין מהפכני כשהופיע לראשונה כי זה היה הרבה יותר קל מאשר להשתמש במנגנון ההיסטוריה של מעטפת C.

אם היית צריך לערוך מחדש פקודה שהונפקה בעבר, תוכל להשתמש בפקודות דומות ל-Vi או Emacs כדי לעשות זאת.

KornShell הייתה ברירת מחדל בכמה מערכות לינוקס מסחריות כמו Oracle Solaris. מכיוון שה-KornShell המקורי שוחרר בתחילה על ידי AT&T תחת רישיון קנייני, בסופו של דבר שוחררה גרסת קוד פתוח בשם pdksh.

3. Almquist/Debian Almquist Shell

מעטפת האלמקוויסט נכתבה במקור על ידי קנת אלמקוויסט ונועדה כתחליף קל משקל למעטפת בורן. מערכות BSD רבות כוללות את זה כיישום של sh.

גרסה הועברה לדביאן בשנות ה-90 והיא ידועה כמעטפת Debian Almquist. כפי שהשם מרמז, זה היישום של sh במערכות דביאן ואובונטו.

4. Z Shell

פגז Z, או zsh, היא אחת הקונכיות החדשות ביותר, שפותחה במקור ב-1990 על ידי פול פלסטד. Z shell הפכה ידועה בתכונות המתקדמות שלה. דוגמה טובה היא גלובינג רקורסיבי, או היכולת להתאים תווים כלליים בספריות משנה.

Z shell היא מעטפת הכניסה המוגדרת כברירת מחדל עבור macOS ו-Kali Linux.

תאימות בורן מעטפת

בעוד שהקונכיות הללו תואמות במידה רבה לסקריפטים שנכתבו במקור עבור מעטפת בורן, יש דרכים לשנות את ההתנהגות שלהם כך שתהיה יותר דומה לקליפה המקורית.

הדרך העיקרית לעשות זאת היא דרך קישור סמלי. רוב המערכות יעשו קישורים סימליים /bin/sh ל-Bash או לקליפה אחרת. כאשר מופעל בצורה זו, המעטפת תיכנס למצב תאימות עם המעטפת של Bourne.

אתה יכול לראות איזו קליפה /bin/sh מקושר עם הפקודה ls:

ls -l /bin/sh

עכשיו אתה יודע על מעטפת בורן

מעטפת בורן היא אחד התקנים הוותיקים ביותר עבור סקריפטים במערכות דמויות יוניקס. גם אם הוא הוחלף בקונכיות אחרות, הוא עדיין חיוני להפעלת סקריפטים שנכתבו על ידי אחרים.

Bash היא אחת הנגזרות הטובות ביותר של בורן לקידוד, במיוחד עבור הגישה שלה למשתנים. יש לו כמה משתנים ייחודיים שעשויים לגרום לך לרצות לשקול אותו עבור הפרויקט הבא שלך.