לחזור למקורות
תכונה מעולה שבאש מאפשרת לנו היא לעשות alias לפקודה.
מה זה alias? לדוגמה יש לנו פקודה ארוכה שמכילה מספר פרמטרים והגדרות ואנו רוצים שבכל פעם שנכתוב מילה מסויימת הפקודה תרוץ כבר עם מספר הפרמטרים שנגדיר.
ב alias הבא אנו מגדירים את פקודה date שכל פעם שתרוץ היא תחזיר את התאריך בפורמט מסויים.
ברגע שצריך פורמט קצת שונה מתחילה הבעיה, לדוגמה אני רוצה להעביר תאריך לפקודה כלשהי שדורשת את התאריך בפורמט קצת אחר, את השנה אנו צריכים קדימה במקום מאחור, אז אנו יודעים מה עושים פשוט משנים את מחרוזת הפורמט, נראה רק איך זה נראה.
אז איך אפשר בעצם לפתור את הבעיה ולהסביר לבאש שכשאנו כותבים date אנו מתכוונים לפקודה המקורית? החברים בgnu חשבו עלינו ובאש מאפשרת לנו להריץ את הפקודה המקורית במספר דרכים
הראשונה היא על ידי הוספת תו
#date
#alias
#command
#special_characters
@bash_tips
alias, command, \
רמת קושי: #beginnersתכונה מעולה שבאש מאפשרת לנו היא לעשות alias לפקודה.
מה זה alias? לדוגמה יש לנו פקודה ארוכה שמכילה מספר פרמטרים והגדרות ואנו רוצים שבכל פעם שנכתוב מילה מסויימת הפקודה תרוץ כבר עם מספר הפרמטרים שנגדיר.
ב alias הבא אנו מגדירים את פקודה date שכל פעם שתרוץ היא תחזיר את התאריך בפורמט מסויים.
$ alias date='date +"%d/%m/%Y"'
$ date
30/08/2020
ניתן לראות את כל ה alias שמוגדרים במערכת על ידי הרצה של $ alias -pאו לראות alias לפקודה ספציפית
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
...
$ alias download-mp3אחלה פשוט ועובד נהדר, איפה הבעיה?
alias download-mp3='youtube-dl -t -c -x --audio-format mp3 '
ברגע שצריך פורמט קצת שונה מתחילה הבעיה, לדוגמה אני רוצה להעביר תאריך לפקודה כלשהי שדורשת את התאריך בפורמט קצת אחר, את השנה אנו צריכים קדימה במקום מאחור, אז אנו יודעים מה עושים פשוט משנים את מחרוזת הפורמט, נראה רק איך זה נראה.
$ date +"%Y/%m/%d"
date: extra operand `+%d/%Y/%m'
Try 'date --help' for more information.
הופהה בעיה, הפקודה לא מוכנה לקבל את הפורמט שהכנסנו, הסיבה שהיא לא מוכנה לקבל את הפורמט הוא בגלל ששמרנו alias לפקודה date וכרגע מה שהפקודה מנסה להריץ הוא פעמיים מחרוזת פורמט וזה משגע אותה.$ date +"%d/%m/%Y" +"%Y/%m/%d"
לחזור למקורותאז איך אפשר בעצם לפתור את הבעיה ולהסביר לבאש שכשאנו כותבים date אנו מתכוונים לפקודה המקורית? החברים בgnu חשבו עלינו ובאש מאפשרת לנו להריץ את הפקודה המקורית במספר דרכים
הראשונה היא על ידי הוספת תו
\
לפני הפקודה $ date +"%d/%Y/%m"
date: extra operand `+%d/%Y/%m'
Try 'date --help' for more information.
$ \date +"%d/%Y/%m"
30/2020/08
צורה נוספת אפשרית היא על ידי שימוש בפקודת command$ command date +"%d/%Y/%m"
30/2020/08
כמובן שתמיד אפשר להריץ את הנתיב המלא של הפקודה /bin/date
אבל יש לי תחושה שפחות תחשקו בכך.#date
#alias
#command
#special_characters
@bash_tips