באש – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
אין תקציר עריכה |
פישוט הערך והסרת תבנית לפישוט |
||
שורה 1:
{{תוכנה
|שם=Bash
שורה 8 ⟵ 7:
|קטגוריה=[[מעטפת פקודה]]
|אתר אינטרנט=[http://www.gnu.org/software/bash/ אתר גנו]}}
'''באש''' (ב[[אנגלית]]: '''
==מקור שם התוכנה==▼
המעטפת פותחה בשנת 1989 על ידי [[בריאן פוקס]], בניצוחו של [[ריצ'רד סטולמן]], כמיזם תוכנה חופשית וכתחליף ל-Bourne Shell (המוכרת בשם המקוצר sh) עבור פרויקט גנו. שם המעטפת נגזר משם המעטפת Bourne shell שהופצה לראשונה בגרסה 7 של מערכת ההפעלה [[UNIX]] בשנת 1979, שקדמה לה. תחביר הפקודות של Bash הוא הרחבה של Bourne Shell ומציע מספר שיפורים לעומתו שביניהם: עריכת פקודות, הסרת ההגבלה על גודל הזיכרון המוקצה לשמירת היסטוריות הפקודות שבוצעו דרך המעטפת, שליטה בתהליכי משתמש (jobs), כתיבת פונקציות, יצירת קיצורי שם לפקודות מורכבות (aliases), עבודה עם [[מערך (מבנה נתונים)|מערכים]] ללא הגבלת גודל, ביצוע חישובים [[אריתמטיקה|אריתמטיים]] מבסיס 2 עד 64, שמירה לזיכרון מחסנית של מסלולים בעץ הקבצים (מנגון pushd/popd), תמיכה במערכים אסוציאטיביים (מערכים שהגישה אליהם אינה בעזרת אינדקס מספרי; החל מגרסה 4).▼
שם המעטפת נגזר משם המעטפת Bourne shell שהופצה לראשונה בגרסה 7 של מערכת ההפעלה [[UNIX]] בשנת 1979. משמעות השם '''Bash''' היא [[ראשי תיבות]] של '''Bourne-again shell''', כ[[משחק מילים]] על [[Bourne Shell]].
== מאפיינים טכניים ==
ברוב מערכות גנו/לינוקס, מופצת Bash כברירת מחדל ומהווה בסיס חיוני למערכת (יחד עם כלים בסיסיים נוספים, גם כן מבית GNU). המעטפת מופצת גם עם מערכת [[Mac OS X]] מבית [[אפל]] (גם היא מערכת דמוית יוניקס, המבוססת על [[BSD]]). ניתן להריץ את המעטפת גם על מערכת ההפעלה [[Windows]] מבית [[מיקרוסופט]] בעזרת [[Cygwin]], אך המעטפת לא מיועדת לכך. בשנת 2016 מיקרוסופט הוציאה פתרון להרצת המעטפת במערכת ההפעלה [[Windows 10|חלונות 10]] באמצעות כלי ייעודי מתוצרתה שפותח ביחד עם [[קנוניקל]] מפיצת [[אובונטו (לינוקס)|Ubuntu]]{{הערה|{{קישור כללי|הכותב=איתי מקמל|כתובת=http://www.tgspot.co.il/microsoft-announces-windows-10-anniversary-update/|כותרת=מיקרוסופט הכריזה על עדכון גדול ל-Windows 10 שיתמוך בפקודות לינוקס|תאריך=2016-03-30|שפה=he-IL|תאריך_וידוא=2016-08-25}}}}.▼
=== שיפורים לעומת גרסאות קודמות ===
▲==מקור שם התוכנה==
▲
▲משמעות השם Bash היא [[ראשי תיבות]] של '''Bourne-again shell''', כ[[משחק מילים]] על [[Bourne Shell]]. המשפט נשמע כמו "מעטפת [פקודה] שנולדה מחדש"{{הערה|[http://www.gnu.org/software/bash/manual/html_node/What-is-Bash_003f.html#What-is-Bash_003f הסבר על Bash] מתוך התיעוד של Bash}}
=== ממשקיות עם מערכות הפעלה נוספות ===
▲
==Bash Scripting==
בדומה לכל מעטפת פקודה סטנדרטית, גם התחביר של
<syntaxhighlight lang="bash" ">
שורה 43 ⟵ 46:
</syntaxhighlight>
* שורות הערה יחלו בסימן #, למעט השורה הראשונה של הקובץ המתחילה ב- !#. שורה זו
* החלק הראשון של הסקריפט מכיל קטע התניה מהצורה if [...] ; then ... fi, שבודק את מספר הארגומנטים שהועברו לסקריפט משורת הפקודה בעזרת בחינה של המשתנה השמור #$.
* lt- הוא אופרטור השוואה המחזיר ערך אמת או שקר בהתאם לכך שהאופרנד השמאלי קטן מן האופרנד הימני. במקרה הזה נבדק שנשלחו לפחות שלושה פרמטרים משורת הפקודה. במידה ואין זה כך, מבוצע גוף הקטע המותנה שבו מודפסת הודעה בחזרה למעטפת בעזרת פקודת echo ומסתיים הסקריפט בקוד שגיאה 1 בעזרת הפקודה exit 1. * אם הקלט נמצא תקין, ממשיך הסקריפט לביצוע קטע לולאה מהצורה for x in list ; do ... done שבמקרה זה עובר על רשימת הפרמטרים שהועברו לסקריפט דרך שורת הפקודה (בעזרת בחינה של תוכן המשתנה השמור *$) והדפסתם למעטפת על פי סדר הופעתם. * הלולאה האחרונה שנראית בדוגמה מציגה שימוש בלולאה מותנית להדפסה ובה נבחן מספר הפרמטרים על ידי גישה למשתנה השמור #$ נוכח ביצוע פקודת shift בגוף הלולאה. הפקודה הנ"ל * בתום הסקריפט מוחזר ערך הצלחה 0 בעזרת הפקודה exit 0. ==קישורים חיצוניים==
|