היכן להגדיר משתני סביבה ב-Mac
בשורת הפקודה, משתנים סביבתיים מוגדרים עבור המעטפת הנוכחית ועוברים בירושה על ידי כל פקודה או תהליך פועל. הם יכולים לקבוע כל דבר ממעטפת ברירת המחדל, ה-PATH, ספריית הבית של המשתמשים, לסוג אמולציית הטרמינל, ספריית העבודה הנוכחית, היכן נמצא קובץ היסטוריה, הגדרות השפה והלוקליזציה, והולכת רחוק יותר לכלול משתני מעטפת, הכוללים הכל. החל מהתאמות אישיות להנחיית ה-bash, פלט ls בצבע ושינויים למראה מסוף, לכינויים ועוד הרבה יותר.
בואו נעבור דרך רשימת משתני סביבה ומשתני מעטפת, ולאחר מכן כיצד להגדיר ולהוסיף משתני סביבה חדשים בשורת הפקודה של Mac OS X. נסקור זאת גם עבור קונכיות bash ו-zsh.
הצגת סביבה נוכחית ומשתני מעטפת ב-bash ב-Mac OS X
כדי לקבל במהירות רשימה של משתנים סביבתיים, אתה יכול להשתמש בפקודה הבאה עם bash:
printenv
לפרט משתנים סביבתיים ב-zsh, השתמש בפקודה הבאה: env
או לחלופין:
echo $ENV_VAR
אם ברצונכם לראות רשימה מלאה של משתני מעטפת, ניתן להנפיק גם את הפקודה 'set':
מַעֲרֶכֶת
הפלט של פקודות אלה יכול להיות ארוך, לכן ייתכן שתרצה להעביר את הפלט דרך הפקודות הפחות או יותר.
הגדרת משתנים סביבתיים בשורת הפקודה של macOS עם zsh
מעטפת zsh מגדירה משתנים סביבתיים דרך קובץ zshenv, הממוקם בספריית הבית של המשתמש בכתובת:
~/.zshenv
לכן אתה יכול להוסיף משתנים סביבתיים של zsh על ידי שינוי הקובץ הזה עם nano, vim וכו', או על ידי שימוש בהד כמו כך:
echo 'export ENV_VAR=example' >> ~/.zshenv
לדוגמה:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
הגדרת משתנים סביבתיים בשורת הפקודה של Mac OS X עם bash
מכיוון שה-Mac כברירת מחדל משתמש ב-bash shell, אתה יכול להגדיר משתנים סביבתיים בספריות המשתמש .bash_profile, עבור חשבון משתמש פעיל הנתיב לקובץ זה נמצא ב:
~/.bash_profile
אם שינית את המעטפת שלך או שאתה לא בטוח באיזו מעטפת אתה משתמש, אתה תמיד יכול לבדוק על ידי הוצאת הפקודה echo $SHELL, שתציג איזו מעטפת נמצאת בשימוש. אנו נניח שאתה עדיין משתמש במעטפת ה-bash ברירת המחדל של OS X, ולכן נוסיף משתני סביבה חדשים על ידי שינוי .bash_profile עם nano - אתה יכול להשתמש ב-vi, emacs או עורך טקסט אחר אם תרצה, אבל אנחנו נסקור את הננו בגלל הפשטות שלו.
התחל בפתיחת .bash_profile בתוך עורך הטקסט הננו:
nano .bash_profile
ניתן להוסיף משתנים סביבתיים ומשתני מעטפת לשורות חדשות, אם כבר יש נתונים בתוך קובץ ה-.bash_profile, רק הקפידו להוסיף משתנים חדשים לשורה ריקה חדשה על ידי שימוש במקשי החצים וה- מפתח החזר לפי הצורך.
בוא ניקח דוגמה ונאמר שאנחנו הולכים להגדיר את המשתנים הסביבתיים JAVA_HOME ו-JRE_HOME בתוך .bash_profile על ידי הוספת הדברים הבאים לשורות חדשות של הקובץ:
export JAVA_HOME=$(/usr/libexec/java_home) ייצוא JRE_HOME=$(/usr/libexec/java_home)
בהנחה שסיימנו כעת, שמור את השינויים שבוצעו ב-.bash_profile על ידי לחיצה על Control+o (זהו o כמו ב-Otter), ואז צא מננו על ידי לחיצה על Control+X
שינויים ותוספות שיבוצעו למשתנים סביבתיים יחייבו את ההפעלה מחדש של המעטפת או שקונצרן חדש ייווצר.
הגדרת משתנים סביבתיים זמניים במערכת ההפעלה X
כדאי להזכיר שאתה יכול גם להגדיר משתנים סביבתיים זמניים ב-bash על ידי שימוש בפקודה 'ייצוא' בפני עצמה, אם כי אלה יימשכו רק כל עוד מעטפת ה-bash הנוכחית נשארת פעילה. לדוגמה, אם תרצה להוסיף נתיב זמני ל-~/bin/ תוכל להשתמש בפקודה הבאה:
export PATH=$PATH:~/bin
שוב, הפקודה 'ייצוא' המופעלת בעצמה ואינה כלולה בתוך .bash_profile תהיה רק הגדרה זמנית והמשתנה הסביבתי לא ימשיך אלא אם תוסיף אותו ל-.bash_profile.
אם אתה באמת מחפש להוסיף PATH חדש לשימוש, כדאי כמעט בוודאות להוסיף אותו ל-.bash_profile על ידי הנחת פקודת הייצוא המתאימה לקובץ.
מעבר ל-bash shell, אם שיניתם את מעטפת ברירת המחדל של אפליקציית ה-Terminal מ-bash ל-tcsh, zsh, sh, ksh, fish, או כל אחת מהקונכיות החלופיות האחרות שקיימות בחוץ, פשוט תצטרכו כדי לשנות את הפרופיל או קובץ ה-rc המתאים עבור מעטפת ספציפית זו (.tschrc, .cshrc, .profile וכו').