פקודת Echo בסביבת ה-SHELL של Bash: גלו את השימושים הרבים

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

במדריך זה, תצפה בקרבה על פקודת הecho ותלמד כמה מדוגמי השימוש המעשיים והשימושיים ביותר שלה.

מוכן? צפו ושנו את הרעיון שלכם על פקודת הecho!

דרישה מוקדמת

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

הדפסת מחרוזות עם פקודת הecho במסדרת הפקודות של Bash

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

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

התחביר לפקודת הecho הוא כדלקמן:

  • string – הטקסט להדפסה.
  • options – הארגומנטים האופציונליים שניתן לציין כדי לשנות את הפלט.
echo string options

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

echo "Echo command bash"
Printing a string to the console

מניעת שורות תואמות במחרוזות

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

האפשרות -n משתיקה תווי שורה מסיום, ואומרת לפקודה echo להדפיס מחרוזות מרובות בשורה אחת. אפשרות זו יכולה להיות שימושית, לדוגמה, כאשר אתה מדפיס ברים התקדמות לקונסול.

הרץ את הפקודה הבאה כדי להדפיס "התקדמות:" ו-50%.

echo -n "Progress: " && echo "50%"

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

echo command bash : newlines separate the two strings

כעת, הרץ את הפקודה הבאה, והוסף את האפשרות -n, כדי להדפיס את המחרוזות "התקדמות:" ו-50%.

echo -n "Progress: " && echo "50%"

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

Suppressing trailing newlines

הדפסת ערכי משתנים

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

הרץ את הפקודות למטה כדי להגדיר את ערך המשתנה "number" ל-10 ולהדפיס (echo) את הערך לקונסול.

# שומר ערך 10 למשתנה "number"
number=10
# מדפיס את הערך הנוכחי שמאוחסן במשתנה "number"
echo The number is $number
Printing the Value of a Variable

פרשת רצקים שולטים

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

עִבְרִית

לדוגמה, רצף הבריחה \t מייצג תו טאב. אם תשתמש באפשרות -e ותדפיס את \t לקונסול, \t יוחשב כתו טאב במקום להידפס ליתרה.

כמה מהרצפי בריחה הנפוצים ביותר הם:

Escape Sequence Function
\b backspace
\t tab
\n new line
\\ backslash
\$ dollar sign

הרץ את הפקודה הבאה כדי להדפיס Hello\tWorld לקונסול.

echo "Hello\tWorld"

ניתן לראות למטה שהפקודה האקו הדפיסה את מחרוזת Hello\tWorld כפי שהיא.

Printing a string without an escape sequence

כעת, הפעל את הפקודה למטה כדי להדפיס Hello\tWorld, והוסף לה את האפשרות -e כדי לפרש \t כתו טאב ביניהם.

echo -e "Hello\tWorld"

שים לב לפער הגדול למטה בין המילה Hello ו-World.

Interpreting an escape sequence

הכנסת מחרוזות לשורה חדשה

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

הפעל את הפקודה למטה כדי להדפיס את מחרוזת ה-Echo command bash\nAnother line, שבה אפשרות \n פוגעת במחרוזת ויוצרת שורה חדשה.

echo -e "Echo command bash\nAnother line"

למטה, ניתן לראות שהאפשרות \n מניחה את מחרוזת Another line בשורה חדשה.

Inserting a string into a new line

הכנסת טאבים אנכיים בין מחרוזות

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

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

הריצו את הפקודה הבאה כדי להדפיס את הטקסט "Echo command bash demo", אך עם טאבים אנכיים (\v) בין כל מילה.

echo -e "Echo \vcommand \vbash \vdemo
Inserting vertical tabs in between strings

הדפסת שמות קבצים על פי סיומת

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

1. הריצו את הפקודה הבאה כדי להדפיס את כל הקבצים שמסתיימים בסיומת .txt בתיקייה הנוכחית.

echo *.txt
Printing all .txt files in the current directory

2. לאחר מכן, הריצו את הפקודה הבאה כדי להדפיס את כל הקבצים שמסתיימים בסיומת .deb בתיקייה הנוכחית.

echo *.deb
Printing all .deb files in the current directory

3. לבסוף, הריצו את הפקודה הבאה כדי להדפיס את הקבצים עם סיומת .txt בתיקיית ~/Downloads. ניתן להחליף את ~/Downloads/ בנתיב התיקייה האמיתי של הקובץ.

echo ~/Downloads/*.txt

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

Finding .txt files in the specific directory

כתיבת פלט לקובץ

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

הרץ את הפקודה למטה, שאינה מספקת פלט מאחר והפלט נכתב (>) לקובץ בשם echo-bash.txt במקום.

שים לב שאם הקובץ echo-bash.txt כבר קיים, הוא יימחק ויתווסף תוכן חדש.

echo "echo command bash" > echo-bash.txt

עכשיו, הרץ את פקודת ה- cat הבאה כדי לראות את תוכן הקובץ echo-bash.txt.

cat echo-bash.txt

כפי שאתה יכול לראות למטה, פלט הפקודה echo נכתב לקובץ echo-bash.txt.

Verifying the output written to file

הוספת פלט לקבצים קיימים

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

במקום להשתמש ב-> אחד, השתמש בשניים >>. תכונה זו עוזרת לשמור על התוכן הקיים ולהוסיף רשומות חדשות לסוף הקובץ.

הרץ את הפקודה למטה כדי להוסיף (>>) טקסטים חדשים (הוספת טקסט) לקובץ הקיים echo-bash.txt.

echo "Appending text" >> echo-bash.txt

עכשיו, הרץ את פקודת ה- cat הבאה כדי לראות את תוכן הקובץ echo-bash.txt.

cat echo-bash.txt

כפי שאתה יכול לראות למטה, פלט הפקודה echo מתווסף לקובץ מבלי לדרוס דבר.

Appending output to an existing file

סיכום

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

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

למה לא לבחור כמה דרכים שבהן ניתן להשתמש בפקודה echo ולכתוב אותן בקובץ סקריפטים שלך? ראה אילו דרכים יצירתיות ניתן לך למצוא!

Source:
https://adamtheautomator.com/echo-command-in-bash/