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

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

היסודות של היסודות

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

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

 #! / bin / bash 

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

תסריט לעשות דברים קצת אחרת

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

 LANG = "ja_JP" 

עם זאת, לעתים קרובות אני שוכח אם משתנה הסביבה צריך להיות "LANG", "LC_TYPE" או אחד מה -10 המשתנים הקשורים למשתנים מקומיים. אני מעדיף פשוט "Japanize את זה." אז יצרתי סקריפט שנקרא "jpit" באש כדלקמן:

 #! / bin / bash LANG = "ja_JP" $ 1 

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

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

 chmod + x / home / אהרון / bin / jpit 

שמתי את זה בספרייה שלי ~ / bin כי זה שלי PATH, ועכשיו אני יכול לבצע את זה מכל טרמינל או KRunner, ולהכניס כל שם יישום שמקבל את המשתנה "LANG". אתה יכול להשתמש בסקריפט כזה כדי להפעיל תוכנית עם קבוצה אחרת של אפשרויות, אם הם משתני סביבה, דגלים שורת פקודה, או קלט / פלט קבצים.

תסריט לעשות את זה, אז זה

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

 sudo apt- לקבל עדכון sudo apt- לקבל שדרוג 

למרבה המזל, יש דרך להנפיק את אלה בתור פקודה אחת, ואז "ללכת" עד שהם כולם להשלים:

 sudo apt-get עדכון && sudo apt- לקבל שדרוג 

הפקודה && בפקודה זו מסמלת כי הפקודה השנייה צריכה לפעול רק לאחר הראשונה, ורק אם הראשונה משלימה ללא שגיאות. apt-get פקודות לעיל יהיה כנראה לשאול אותך אם אתה רוצה להתקין כמה תלות, אם כי, אז איך זה שימושי?

בוא נחזור לידידנו הוותיק, פנדוק . ראינו במאמרים קודמים כי Pandoc יש אפשרויות להמיר Markdown לתוך פורמטים אחרים, שונים. אבל מה אם אתה רוצה לעשות את זה להמיר HTML, ODT, DOCX, ואת הספר האלקטרוני בבת אחת? פשוט: ליצור סקריפט פגז עם הבאות:

 #! / bin / bash pandoc -r markdown -w html -o $ 1.html $ 1 && pandoc -r markdown -w docx -o $ 1.docx $ 1 && pandoc -r markdown -w odt -o $ 1.odt $ 1 && pandoc - r markdown -w epub-$ 1.epub $ 1 

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

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