OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

הרחבה

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



[me@linuxbox ~]$ הד זה מבחן

זה מבחן

[me@linuxbox ~]$ הד זה מבחן

זה מבחן


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



[me@linuxbox ~]$ הד *

מסמכים שולחניים ls-output.txt מוסיקה תמונות תבניות ציבוריות סרטונים

[me@linuxbox ~]$ הד *

מסמכים שולחניים ls-output.txt מוסיקה תמונות תבניות ציבוריות סרטונים


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


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


 

מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: