האם אי פעם רצית ללמוד "scripting" ב- Linux? ביצוע אותם קל יותר ממה שאתה עשוי לחשוב. לפעמים סקריפטים (המכונה לעתים קרובות פגז או סקריפטים באש) הן תוכניות אמיתיות עם קוד מסובך בפנים. פעמים אחרות הם רק רשימה ארוכה של משימות שמשתמשים להרכיב כדי לעשות דברים לעשות תחת לינוקס מהר יותר.

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

למה היית עושה תסריט?

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

לדוגמה: אולי אתה רק בנוי Arch Linux מאפס. מערכת ההפעלה מותקנת, יחד עם כל החבילות הבסיסיות, והיא יכולה לבצע אתחול למסוף כאשר מערכת ההפעלה מתחילה. Arch Linux לוקח זמן להגדיר, ולכן התהליך לא הושלם.

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

הגבול היחיד לסקריפט הבש שלך הוא הידע שלך ב- Linux ו- Bash! ביצוע אותם קל יותר ממה שאתה עשוי לחשוב.

תחילת העבודה - Shebangs

בעת כתיבת קוד, דברים צריכים להיות מוגדרים ומשאבים נטענים. כאשר scripting עם פגז, כמה דברים צריך להיות מוגדר גם כן. ב bash scripting זה ידוע בשם "shebang." Shebangs המשמשים סקריפטים אומר את התסריט מה מתורגמן צריך לבצע תחת. זה יכול להיות Bash או כל סקריפטים אחרים הזמינים במערכת שלך. האם לציין כי שפות שונות יש shebangs משלהם.

לדוגמה: בעת כתיבת סקריפט פייתון, shebang יהיה #!/usr/bin/python, וכו '

בש יש הרבה שבנגים שונים שניתן להשתמש בהם, אבל רוב המשתמשים יש כנראה רק לראות את #!/bin/bash אחד. ככלל, השתמש #!/bin/bash בעת כתיבת סקריפט פשוט לא מתכנן לקחת את זה של לינוקס. כל ההפצות המודרניות של לינוקס נמצאות באותה גרסה של באש, וקליפת הבאש נמצאת בדרך כלל באותו מקום.

Shebang נוסף שמוכיח את עצמו הוא שימושי #!/usr/bin/env bash shebang. זה מיועד ניידות ויש להשתמש בו אם התסריט נועד לרוץ על מערכות הפעלה יוניקס אחרים (BSDs, מאקוס, וכו ').

שיטות עבודה מומלצות

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

  • זכור כי בש היא שפה שנועדה לתפעל קבצים ותהליכים במערכת. אם בש עונה על הצרכים שלך, זה טוב. עם זאת, להבין את זה עבור תכנות מתקדם, Bash באמת לא הבחירה הנכונה, וזה יהיה הכי טוב לעבור על משהו כמו Python.
  • הפוך את התסריטים שלך "SH" תואם בפורמט "ש." אם התוכנית היא להשתמש בסקריפטים על יותר מאשר רק פלטפורמת לינוקס. אף על פי שמערכות הפעלה אחרות של יוניקס עשויות להיות "פגזים דמויי אש", לחלקן אין כל כוונות טובות, וטוב להיות מוכן לכך.
  • למד את פגז באש ואיך זה עובד. זה יעזור לך לכתוב את הסקריפטים שלך טוב יותר.
  • תמיד להשתמש shebang וחשוב יותר: להשתמש הנכון . זה יכול להיות ההבדל בין התסריט טוב אחד נורא זה לא עובד נכון.
  • תמיד להגיב כל פעולה. בתוך שישה חודשים ייתכן שתחזור לסקריפט שלך ותהה מה פירוש הדבר, ולכן חשוב שתסריטך יתועד היטב וקל להבנה (עבורך וכל מי שייתכן שיראה אותו).
  • הפוך את הקוד שלך לקריא. גם אם התסריט שלך הוא לא משהו מורכב, זה עדיין צריך להיות הגיוני, ולהפוך אותם קל יותר ממה שאתה עשוי לחשוב.
  • בדוק את התסריט שלך שגיאות לפני שנתן אותו לאחרים. אל תעשה בדיקות באג אחרים בשבילך. באופן אידיאלי, סקריפטים צריכים לעבוד לפני שאתה שולח אותם לאנשים להשתמש.

יצירת סקריפט

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

 #! / bin / bash 

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

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

 # סקריפט פשוט שלי אובונטו עדכון 

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

 עדכון sudo 

החלק השני של התסריט הוא הפקודה apt upgrade . פקודה זו מאפשרת להתקין את העדכונים שנבדקו בעבר. הוסף a- -y לסוף כך שהסקריפט לא יצטרך אינטראקציה של המשתמש. זה יאפשר לפקודה לעדכן בפני עצמה.

 sudo apt לשדרג -y 

שמור את התסריט עם סיומת .sh. לדוגמה, "myscript.sh."

כדי להפעיל את הסקריפט, פתח מסוף והקלד:

 chodod sudo + x myscript.sh 

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

כדי להפעיל את הסקריפט החדש שנוצר, הפעל את הפקודה הבאה:

 sudo bash myscript.sh. 

סיומות קבצים

אין הבדל בין סיומות קבצים לסקריפטים. מתן שמות לקובץ עם סיומת הקובץ .shsh עושה מעט כדי להשפיע על אופן הפעולה של "התוכנית". סקריפט באש עדיין יפעל ללא סיומת קובץ - קבצי טקסט ריקים וכל מה שביניהם כל עוד הפקודות והארגומנטים הנכונים נמצאים.

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

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

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

משאבי קוד

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

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

סיכום

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

מה סקריפטים Bash אתה משתמש תחת לינוקס לעשות את החיים קלים יותר? ספר לנו למטה!

תמונה תכונה: Jm3