כיצד ליצור ולהפעיל סקריפטים של Bash Shell ב- Windows 10

עם הגעתו של מעטפת ה- Bash של Windows 10, כעת ניתן ליצור ולהריץ סקריפטים של מעטפת Bash ב- Windows 10. ניתן גם לשלב פקודות Bash בקובץ אצווה של Windows או בתסריט PowerShell.

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

כיצד לכתוב סקריפט Bash ב- Windows 10

קשורים: כיצד להתקין ולהשתמש במעטפת ה- Linux Bash ב- Windows 10

כשאתה כותב סקריפטים של מעטפת ב- Windows, זכור שמערכות כמו Windows ו- UNIX כמו Linux משתמשות בתווי "סוף שורה" שונים בקובצי טקסט בסקריפטים של מעטפת.

במילים אחרות, המשמעות היא שלא תוכלו פשוט לכתוב סקריפט פגז בפנקס הרשימות. שמור את הקובץ ב- Notepad והוא לא יתפרש כראוי על ידי Bash. עם זאת, תוכלו להשתמש בעורכי טקסט מתקדמים יותר - לדוגמא, Notepad ++ מאפשר לכם לתת לקובץ תווי סוף שורה של UNIX על ידי לחיצה על Edit> EOL Conversion> UNIX / OSX Format.

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

לדוגמה, כדי ליצור סקריפט bash ב- nano, תריץ את הפקודה הבאה ב- bash:

ננו ~ / myscript.sh

פעולה זו תפתח את עורך הטקסט של Nano שהצביע על קובץ בשם "myscript.sh" בספריית הבית של חשבון המשתמש שלך. (התו "~" מייצג את ספריית הבית שלך, כך שהנתיב המלא הוא /home/username/myscript.sh.)

התחל את סקריפט הפגז שלך בשורה:

#! / bin / bash

קשורים: המדריך למתחילים לתסריט מעטפת: היסודות

הזן את הפקודות שברצונך להפעיל, כל אחת בשורה משלה. הסקריפט יפעיל כל פקודה בתורו. הוסף תו "#" לפני שורה כדי להתייחס אליו כאל "הערה", דבר שעוזר לך ולאנשים אחרים להבין את הסקריפט אך אינו פועל כפקודה. לקבלת טריקים מתקדמים יותר, עיין במדריך מפורט יותר לסקריפטים של Bash בלינוקס. אותן טכניקות יעבדו ב- Bash באובונטו ב- Windows.

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

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

#! / bin / bash # הגדר את המשתנה STRING STRING = "שלום עולם!" # הדפיס את תוכן המשתנה בהד המסך $ STRING

אם אתה משתמש בעורך הטקסט של Nano, אתה יכול לשמור את הקובץ על ידי לחיצה על Ctrl + O ואז Enter. סגור את העורך על ידי לחיצה על Ctrl + X.

הפוך את התסריט לביצוע ולאחר מכן הפעל אותו

סביר להניח שתרצה להפוך את התסריט להפעלה כך שתוכל להריץ אותו ביתר קלות. ב- Linux, פירוש הדבר שעליך לתת לקובץ הסקריפט את אישור ההפעלה. לשם כך, הפעל את הפקודה הבאה במסוף, והפנה אותה אל הסקריפט שלך:

chmod + x ~ / myscript.sh

כדי להפעיל את הסקריפט, עכשיו אתה יכול פשוט להריץ אותו במסוף על ידי הקלדת הנתיב שלו. בכל פעם שתרצה להפעיל את הסקריפט בעתיד, פשוט פתח את מעטפת ה- Bash והקלד את הנתיב לתסריט.

~ / myscript.sh

(אם הסקריפט נמצא בספריה הנוכחית, אתה יכול להריץ אותו באמצעות ./myscript.sh)

כיצד לעבוד עם קבצי Windows בתסריט Bash

קשורים: כיצד לגשת לקבצי ה- Ubuntu Bash שלך ב- Windows (ולכונן המערכת של Windows ב- Bash)

כדי לגשת לקבצי Windows בסקריפט, יהיה עליך לציין את הנתיב שלהם תחת / mnt / c, ולא את נתיב Windows שלהם. לדוגמה, אם ברצונך לציין את קובץ C: \ Users \ Bob \ Downloads \ test.txt, יהיה עליך לציין את הנתיב /mnt/c/Users/Bob/Downloads/test.txt. עיין במדריך שלנו לתיקון מיקומים במעטפת ה- Bash של Windows 10 לפרטים נוספים.

כיצד לשלב פקודות Bash בסקריץ אצווה או PowerShell

קשורים: כיצד להגדיר את הפצת ברירת המחדל של לינוקס ב- Windows 10

לבסוף, אם יש לך קובץ אצווה קיים או סקריפט PowerShell שאליו ברצונך לשלב פקודות, תוכל להפעיל פקודות Bash ישירות באמצעות bash -cהפקודה.

לדוגמה, כדי להפעיל פקודת לינוקס בחלון שורת פקודה או בחלון PowerShell, אתה יכול להפעיל את הפקודה הבאה:

bash -c "פקודה"

טריק זה מאפשר לך להוסיף פקודות Bash לקבצי אצווה או לתסריטים של PowerShell. חלון מעטפת ה- Bash יופיע כאשר פועלת פקודת Bash.

עדכון : אם התקנת מספר סביבות לינוקס, תוכל להשתמש בפקודה wslconfig כדי לבחור את סביבת ברירת המחדל של לינוקס המשמשת בעת הפעלת bash -cהפקודה.

כדי ליצור קיצור דרך לתסריט Bash מתוך Windows, פשוט צור קיצור דרך כרגיל. למטרת קיצור הדרך, השתמש bash -cבפקודה שתארנו לעיל והצביע על התסריט Bash שיצרת.

לדוגמה, היית מפנה קיצור דרך לעבר " bash -c "~/myscript.sh"" כדי להפעיל את סקריפט הדוגמה לעיל. אתה יכול פשוט להריץ פקודה זו גם משורת פקודה או מחלון PowerShell.