Bash כיצד לבצע פקודה במשתנה?

Bash How Execute Command Variable



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

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







שיטת ביצוע פקודה במשתנה ב- Bash:

להדגמת שיטת ביצוע הפקודה במשתנה ב- Bash, נציג בפניכם שלושה תרחישים שונים שהם כדלקמן:



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

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



שלב 1: יצירת סקריפט באש:

עליך ליצור סקריפט Bash בתיקיית הבית שעבורו עליך ללחוץ על סמל מנהל הקבצים כפי שניתן לראות מהתמונה הבאה:





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



לכתיבת סקריפט Bash בקובץ זה, לחץ עליו פעמיים כדי לפתוח אותו ולאחר מכן הקלד את הסקריפט המוצג בתמונה למטה בקובץ ה- Bash שלך. כאן, השורה הראשונה של הסקריפט כלומר #!/Bin/bash מראה שקובץ זה הוא למעשה קובץ Bash. לאחר מכן יצרנו משתנה בשם test והקצנו לו את הערך $ (הד שלום לך!). בכל פעם שאתה רוצה לאחסן את הפקודה במשתנה, עליך להקליד את הפקודה שקודם סמל $. במקרה זה, רצינו לאחסן את הפקודה echo במשתנה הבדיקה ולכן פשוט הקלדנו את הפקודה echo ואחריה הודעה אקראית וסגרנו אותה בסוגריים עגולים, והצבנו לפניה סמל $. אז עכשיו, אם נרצה לבצע את פקודת ההד הזו, נצטרך לגשת למשתנה הבדיקה. לכן, כדי לוודא אם ניתן לבצע את פקודת ההד המאוחסנת במשתנה הבדיקה בהצלחה או לא, הדפסנו את הפלט של משתנה הבדיקה במסוף על ידי שימוש בפקודת הד אחרת. לאחר הקלדת סקריפט זה, עליך לשמור את הקובץ ולסגור אותו.

שלב 2: ביצוע סקריפט הבש באמצעות הטרמינל:

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

לַחֲבוֹטCommandVar.sh

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

ביצוע הפקודה seq המאוחסנת במשתנה:

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

שלב 1: שינוי סקריפט הבש שנוצר למעלה:

פתח את קובץ Bash שיצרת בשיטה למעלה והקלד בו את הסקריפט הבא. כאן יצרנו משתנה בשם רצף. המטרה שלנו היא להדפיס את המספרים מ -1 עד 10 תוך שימוש בפקודת seq. לשם כך הקצנו את ערך $ (סיק 1 10) למשתנה הרצף. תוכל גם לציין כל טווח מספרים אחר שתבחר אם תרצה. המספר הראשון לאחר הפקודה seq מציין את הגבול התחתון של הרצף ואילו המספר השני מתייחס לגבול העליון. לאחר הקלדת סקריפט זה, שמור את הקובץ וסגור אותו.

שלב 2: ביצוע סקריפט הבש שהשתנה באמצעות הטרמינל:

כעת בצע את סקריפט הבש שלך באותו אופן כפי שהוסבר לעיל ותוכל לראות את הרצף שצוין במסוף שלך כפי שמוצג בתמונה למטה:

ביצוע הפקודה 'pwd' המאוחסנת במשתנה:

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

שלב 1: שינוי סקריפט הבש שנוצר למעלה:

פתח את קובץ Bash ששינית זה עתה ולאחר מכן הקלד את הסקריפט המוצג בתמונה הבאה בו. בסקריפט זה יצרנו משתנה בשם working_directory והקצנו לו את הערך $ (pwd). הפקודה pwd פשוט תאחסן את הפלט שלה, כלומר את ספריית העבודה הנוכחית במשתנה working_directory. כדי להבטיח אם הפקודה pwd בוצעה כהלכה או לא, הדפסנו את ערך המשתנה working_directory במסוף באמצעות הפקודה echo. כעת שמור קובץ זה ולאחר מכן סגור אותו לאחר הקלדת סקריפט Bash שהשתנה בו.

שלב 2: ביצוע סקריפט הבש שהשתנה באמצעות הטרמינל:

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

סיכום:

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