מדריך למתחילים באש - חלק 1 - שלום עולם

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

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

בעוד שלי LINUX / UNIX פגז חוויה scripting מוגבל, אני מפתח תוכנה על ידי סחר ואני יד DAB ב בשפות scripting כגון PERL, PHP ו- VBScript.

הנקודה של מדריך זה היא כי תלמד כמו שאני לומד וכל מידע אני להרים אני יעביר לך.

מתחילים

יש כמובן הרבה תיאוריה שאני יכול להעביר לך מיד כמו לתאר את סוגי שונים של פגז ואת היתרונות של שימוש BASH מעל KSH ו CSH.

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

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

עורכי טקסט

מדריכים אחרים שיש לי לקרוא יש הציע כי אתה צריך עורך טקסט הכולל קידוד צבע של פקודות ואת העורכים המומלצים הם או VIM או EMACS .

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

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

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

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

פתיחת חלון טרמינל

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

איפה לשים את הסקריפטים

למטרות הדרכה זו אתה יכול לשים את הסקריפטים שלך בתיקייה תחת תיקיית הבית שלך.

בתוך חלון מסוף ודא שאתה נמצא בתיקייה הביתית שלך על ידי הקלדת הפקודה הבאה:

cd ~

הפקודה cd מייצג לשנות את המדריך ואת tilde (~) הוא קיצור עבור תיקיית הבית שלך.

באפשרותך לבדוק שאתה נמצא במקום הנכון על ידי הקלדת הפקודה הבאה:

pwd

הפקודה pwd תספר לכם את ספריית העבודה הנוכחית שלכם (היכן אתם נמצאים בעץ הספרייה). במקרה שלי זה חזר הביתה / גארי.

עכשיו ברור שאתה לא רוצה לשים את הסקריפטים ישר לתוך תיקיית הבית כדי ליצור תיקייה בשם סקריפטים על ידי הקלדת הפקודה הבאה.

סקריפטים של mkdir

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

סקריפטים

התסריט הראשון שלך

זה נהוג כאשר לומדים כיצד תוכנית כדי להפוך את התוכנית הראשונה פשוט פלט את המילים "שלום העולם".

מתוך תיקיית הסקריפטים שלך, הזן את הפקודה הבאה:

ננו

עכשיו הזן את הקוד הבא לתוך חלון ננו.

#! / bin / bash echo "שלום עולם"

הקש CTRL + O כדי לשמור את הקובץ ו- CTRL + X כדי לצאת מה- nano.

התסריט עצמו מורכב כדלקמן:

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

לשורה השנייה יש פקודה אחת הנקראת הד שמפיק את הטקסט שמיד אחריו.

שים לב שאם אתה רוצה להציג יותר ממילה אחת אתה צריך להשתמש במרכאות כפולות (") סביב המילים.

כעת באפשרותך להפעיל את הסקריפט על-ידי הקלדת הפקודה הבאה:

sh helloworld.sh

המילים "שלום עולם" צריכות להופיע.

דרך נוספת להפעלת סקריפטים היא כדלקמן:

./helloworld.sh

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

כדי להעניק הרשאות להפעלת הסקריפט בדרך זו הקלד את הטקסט הבא:

sudo chmod + x helloworld.sh

אז מה באמת קרה שם? למה אתה יכול לרוץ sh helloworld.sh ללא שינוי הרשאות אבל פועל. / Helloworld.sh גרמה בעיה?

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

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

התסריט לעיל היה בסדר, אבל מה קורה אם אתה רוצה להציג את המרכאות?

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

הד \ "שלום עולם \"

זה יהיה לייצר את הפלט "שלום בעולם".

המתן רגע, מה אם אתה רוצה להציג \ "שלום העולם \"?

ובכן אתה יכול להימלט תווים לברוח גם כן

הד \\ "\" שלום עולם \\ "\"

זה יהיה לייצר את הפלט \ "שלום העולם \".

עכשיו אני יודע מה אתה חושב. אבל אני באמת רוצה להציג \\ "" שלום עולם \\ "\"

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

לדוגמה:

printf '% s \ n' '\\ "\" שלום עולם \\ "\"

שים לב כי הטקסט שאנו רוצים להציג הוא בין ציטוטים בודדים. הפקודה printf מפיקה טקסט מהסקריפט. % S פירושו שהוא יציג מחרוזת, \ n יציאות שורה חדשה.

סיכום

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

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