פלט פקודה BASH למשתנה

Bash Command Output Variable



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

מִשְׁתַנֶה= $(פקודה)
מִשְׁתַנֶה= $(פקודה [אוֹפְּצִיָה…]טיעון 1 טיעונים 2 ...)
מִשְׁתַנֶה= $(/נָתִיב/ל/פקודה)

אוֹ







מִשְׁתַנֶה='פקודה'
מִשְׁתַנֶה='פקודה [אוֹפְּצִיָה…]טיעון 1 טיעונים 2 ...'
מִשְׁתַנֶה=`/נָתִיב/ל/פקודה'

*** הערה: אין להשתמש ברווח לפני ואחרי סימן השוויון בעת ​​שימוש בפקודות שלעיל.



פלט פקודה יחיד למשתנה

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



דוגמה מס '1:

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





$דייט נוכחי= $(תַאֲרִיך)
$זרק 'היום זהתאריך הנוכחי של $'

תְפוּקָה:



דוגמה מס '2:

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

$current_dir='pwd'
$זרק 'הספרייה הנוכחית היא:$ current_dir'

תְפוּקָה:

פקודה עם אפשרות וטיעון

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

דוגמה מס '3:

בש ' שירותים הפקודה משמשת לספירת המספר הכולל של שורות, מילים ותווים של כל קובץ. פקודה זו משתמשת -c, -w ו- -l כאפשרות ושם קובץ כארגומנט ליצירת הפלט. צור קובץ טקסט בשם פירות.טקסט עם הנתונים הבאים לבדיקת הסקריפט הבא.
פירות.טקסט

פירות.טקסט
מנגו
תפוז
בננה
עַנָב
גויאבה
תפוח עץ

הפעל את הפקודות הבאות כדי לספור ולשמור את המספר הכולל של המילים ב פירות.טקסט קובץ למשתנה, $ count_words והדפס את הערך באמצעות ' הד` פקודה.

$count_words='שירותים פירות.טקסט'
$זרק 'סך הכל מילים בפירות.טקסט הוא$ count_words'

תְפוּקָה:

דוגמה מס '4:

`לחתוך` היא פקודת bash נוספת שמשתמשת באופציה ובארגומנט ליצירת הפלט. צור קובץ טקסט בשם weekday.txt עם שמות של שבעה שבועות להפעלת התסריט הבא.

weekday.txt

יוֹם שֵׁנִי
יוֹם שְׁלִישִׁי
יום רביעי
יוֹם חֲמִישִׁי
יוֹם שִׁישִׁי
יום שבת
יוֹם רִאשׁוֹן

צור קובץ bash בשם cmdsub1.sh עם התסריט הבא. בתסריט הזה, בזמן לולאה משמשת לקריאת התוכן של weekday.txt קובץ שורה אחר שורה וקרא את שלושת התווים הראשונים של כל שורה באמצעות ' לחתוך` פקודה. לאחר החיתוך, ערך המחרוזת נשמר במשתנה יום $ . לאחר מכן, אם המשפט משמש לבדיקת הערך של יום $ הוא ' שמש' או שלא. הפלט יודפס ' יום ראשון הוא החג 'כאשר אם התנאי נכון אחרת הוא ידפיס את הערך של יום $ .

cmdsub1.sh

#!/bin/bash
שם קובץ='weekday.txt'
בזמן לקרואקַו;לַעֲשׂוֹת
יְוֹם='זרק שורה $ | גזירה 1-3'
אם [ יום $=='שמש' ]
לאחר מכן
זרק 'יום ראשון הוא חג'
אַחֵר
זרק יום $
לִהיוֹת
בוצע<$ קובץ

הפעל את התסריט.

$חתולweekday.txt
$לַחֲבוֹטcmdsub1.sh

תְפוּקָה:

שימוש בהחלפת פקודות בלולאה

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

דוגמה מס '5:

צור קובץ בשם cmdsub2.sh עם הקוד הבא. הנה, ` ls -d * / הפקודה `משמשת לאחזור כל רשימת הספריות מהספרייה הנוכחית. עבור לולאה משמש כאן כדי לקרוא כל ספרייה מהפלט ולאחסן אותה במשתנה $ dirname אשר מודפס מאוחר יותר.

cmdsub2.sh

#!/bin/bash
ל שם הדירוג ב$(ls -d * /)
לַעֲשׂוֹת
זרק '$ dirname'
בוצע

הפעל את התסריט.

$לַחֲבוֹטcmdsub2.sh

תְפוּקָה:

שימוש בפקודות מקוננות

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

תחביר הפקודה המקוננת:

איפה='פקודה 1 'פקודה'

דוגמה מס '6:

שתי פקודות, ` זרק `ו-` מי `משמשים בדוגמה זו כפקודה המקוננת. הנה, ` מי הפקודה `תבצע תחילה את ההדפסה של פרטי המשתמש של המשתמש המחובר כעת. הפלט של ה מי הפקודה 'תתבצע על ידי' זרק `פקודה והפלט של` זרק `יישמר במשתנה $ var . כאן, הפלט של ` זרק הפקודה 'תלויה בפלט של' מי פקודה.

$איפה='זרק'מי'
$זרק $ var

תְפוּקָה:

שימוש בנתיב הפקודה

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

דוגמה מס '7:

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

$תְפוּקָה= $(/usr/אני/מי אני)
$זרק תפוקה של $

תְפוּקָה:

שימוש בארגומנט שורת פקודה

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

דוגמה מספר 8:

צור קובץ bash בשם cmdsub3.sh עם התסריט הבא. ` שם בסיס הפקודה `משמשת כאן כדי לאחזר את שם הקובץ מה- 2ndארגומנט שורת הפקודה ומאוחסן במשתנה, $ קובץ . אנו מכירים את ה 1רחובארגומנט שורת הפקודה הוא שמו של סקריפט ההפעלה המסומן ב- $ 0.

#!/bin/bash
שם קובץ='שם בסיס $ 1'
זרק 'שם הקובץ הוא$ קובץ. '

הפעל את הסקריפט עם ערך הארגומנט הבא.

$לַחֲבוֹטcmdsub3.sh שולחן עבודה/טמפ '/hello.txt

פה, שם הבסיס של השביל, שולחן עבודה/temp/hello.txt הוא ' hello.txt '. אז, הערך של $ קובץ יהיה hello.txt .

תְפוּקָה:

סיכום:

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

מידע נוסף בסרטון: