אודות :
רמת קושי: #advanced
כמה טריקים נחמדים שמאפשרת לנו פקודת
חור שחור
טכניקה מוכרת בבאש, ברגע שרוצים להריץ פקודה ולא לקבל את הפלט שלה להפנות את הפלט ל dev/null
עם
שרשור פעולות
ראינו מקודם שניתן להריץ פקודות בלי לקבל את הפלט שלהם, כשמכניסים את זה לסקריפט אפשר להשתמש ברעיון הזה בצורה הבאה
שלב ב' אנו ממשיכים לעשות מניפולציה על התוכן שבזיכרון על ידי שימוש במשתנה _
איפוס קבצים
מחיקה של התוכן מקובץ קיים, שימושי מאוד בקבצי לוגים
כמובן באותה צורה ניתן ליצור קבצים
בדומה לשפות תכנות אחרות שמאפשרות להגדיר מספר שורות כהערה, על ידי : ניתן להגדיר בלוק של טקסט שלא יבוצע
#heredoc
#touch
#null
#true
@bash_tips
רמת קושי: #advanced
כמה טריקים נחמדים שמאפשרת לנו פקודת
:
רגע מה? :
זאת פקודה?$ help :
:: :
Null command.
No effect; the command does nothing.
Exit Status:
Always succeeds.
אוקי זה מעניין, באש מחזיקה פקודה שעושה כלום אבל כל הזמן מחזירה succeeds, אם נחפור קצת נגלה ש :
היא בעצם גלגול ישן ומהיר יותר של פקודת true
להלן חלק מהשימושים הנחמדים שהפקודה מאפשרת לנו לעשות.חור שחור
טכניקה מוכרת בבאש, ברגע שרוצים להריץ פקודה ולא לקבל את הפלט שלה להפנות את הפלט ל dev/null
עם
:
עושים זאת כך $ : ls /tmp
$ : ls /tm
שימו לב שהיא מעבירה גם את stderr וגם את stdout כך שגם שגיאות לא יוצגושרשור פעולות
ראינו מקודם שניתן להריץ פקודות בלי לקבל את הפלט שלהם, כשמכניסים את זה לסקריפט אפשר להשתמש ברעיון הזה בצורה הבאה
$ cat test.sh
: "${1} ####"
printf '%s\n' "#### ${_}"
bash test.sh Title
#### Title ####
שלב א' מבוצעת פעולה על התוכן שהועבר לסקריפט והתוצאה נשמרת בזיכרוןשלב ב' אנו ממשיכים לעשות מניפולציה על התוכן שבזיכרון על ידי שימוש במשתנה _
איפוס קבצים
מחיקה של התוכן מקובץ קיים, שימושי מאוד בקבצי לוגים
כמובן באותה צורה ניתן ליצור קבצים
$ echo 1234 > myfile.log
$ du myfile.log
4 myfile.log
$ : > myfile.log
$ du myfile.log
0 myfile.log
בלוק של תיעודבדומה לשפות תכנות אחרות שמאפשרות להגדיר מספר שורות כהערה, על ידי : ניתן להגדיר בלוק של טקסט שלא יבוצע
: << 'DOC'
your code block here
and here
and here
DOC
ברוב המקרים ישנה צורה נוחה ונעימה יותר לבצע את אותן הפעולות, בכל אופן מידי פעם עדין נתקלים בסקריפט שמכיל קוד דומה.#heredoc
#touch
#null
#true
@bash_tips