משתנים סביבתיים הם משתנים המועברים לתוכניות על ידי שורת פקודה או הקליפה הגרפית. כאשר מתייחסים למשתנה סביבתי, אז מועבר לערך שלו (מה שהמשתנה מוגדר אליו).
אמנם ישנם מספר משתני סביבה שמשפיעים רק על שורת הפקודה או על הקליפה הגרפית עצמה (כמו PATH או HOME), אך ישנם גם כמה המשפיעים ישירות על האופן בו תסריטים רובי לבצע.
טיפ: משתנים של סביבת אודם דומים לאלה שנמצאים במערכת ההפעלה Windows. לדוגמה, משתמשי Windows עשויים להכיר משתנה משתמש TMP כדי להגדיר את מיקום התיקיה הזמנית עבור המשתמש המחובר כרגע.
גישה למשתנים סביבתיים מרובי
לרובי גישה ישירה למשתני סביבה באמצעות ENV חשיש. ניתן לקרוא ישירות או לכתוב אותם על משתני הסביבה באמצעות מפעיל אינדקס עם טיעון מחרוזת.
שים לב שלכתיבה למשתני סביבה תהיה השפעה רק על תהליכי ילדים של תסריט האודם. הפניות אחרות לתסריט לא יראו את השינויים במשתני הסביבה.
#! / usr / bin / env אודם
# הדפס כמה משתנים
מכניס ENV ['PATH']
מכניס ENV ['עורך']
# שנה משתנה ואז הפעל תוכנית חדשה
ENV ['EDITOR'] = 'gedit'
`cheat environment_variables - להוסיף`
העברת משתנים סביבתיים לרובי
כדי להעביר משתני סביבה לרובי, פשוט הגדר את משתנה הסביבה במעטפת. זה משתנה מעט בין מערכות הפעלה, אך המושגים נשארים זהים.
כדי להגדיר משתנה סביבתי בשורת הפקודה של Windows, השתמש בפקודת set.
> הגדר TEST = ערך
להגדרת משתנה לסביבה לינוקס או OS X, השתמש בפקודת הייצוא. אם כי משתנים סביבתיים הם חלק רגיל ממעטפת הבש, אך רק משתנים שהיו מיוצא יהיה זמין בתוכניות שהושקו על ידי מעטפת בש.
TEST יצוא = ערך
לחלופין, אם משתנה הסביבה ישמש רק את התוכנית שעומדת להפעיל, באפשרותך להגדיר כל משתני סביבה לפני שם הפקודה. המשתנה הסביבתי יועבר לתוכנית בהפעלתו, אך לא נשמר. לא ניתן להגדיר משתנים סביבתיים אלה לכל הפניות נוספות של התוכנית.
עורך $ = לרמות סביבתי_גמישות לרמאות - הוספה
משתנים סביבתיים המשמשים את רובי
ישנם מספר משתני סביבה המשפיעים על אופן פעולתו של מתורגמן האודם.
- RUBYOPT - כל בוררי שורת פקודה כאן יתווספו לכל המתגים שצוינו בשורת הפקודה.
- RUBYPATH - כשמשתמשים בו עם מתג -S בשורת הפקודה, הנתיבים המופיעים ב- RUBYPATH יתווספו לנתיבים שחיפשו בעת חיפוש אחר סקריפטים של רובי. השבילים ב- RUBYPATH קודמים לשבילים הרשומים ב- PATH.
- RUBYLIB - רשימת השבילים כאן תתווסף לרשימת השבילים שעושה רובי לחיפוש ספריות הכלולות בתוכנית עם דורשים שיטה. הנתיבים ב- RUBYLIB ייערכו לפני ספריות אחרות.