שיעור 15: משתני סביבה — $PATH, export, .bashrc
הרצת node --version על web-01 וקיבלת 'command not found'. node מותקן ב-/opt/node/bin — אבל ה-shell לא יודע לחפש שם. echo $PATH מראה את רשימת התיקיות שה-shell מחפש בהן פקודות. export PATH=$PATH:/opt/node/bin מוסיף את החסר — עובד עכשיו, אבל רק לסשן הזה. כדי שזה יישמר לכל סשן, מוסיפים שורת export ל-~/.
$PATH זה רשימת המגירות שה-shell פותח כשמחפש פקודה. export מוסיף מגירה לרשימה. .bashrc הוא הפתק שה-shell קורא בכל פתיחה — שם שומרים שינויים קבועים.
- משתנה סביבה (environment variable)
- זוג name=value שה-shell מחזיק ומעביר לתהליכים שהוא מפעיל. לדוגמה: PATH, HOME, USER. קוראים ערך עם $NAME, ומציגים את כולם עם env.
- export
- מסמן משתנה כ'סביבתי' — כלומר תת-תהליכים שה-shell מפעיל יקבלו אותו. export VAR=value מגדיר ומייצא בבת אחת. בלי export, המשתנה קיים רק ב-shell הנוכחי.
- $PATH
- רשימת תיקיות מופרדת בנקודתיים שה-shell מחפש בהן פקודות. כשמריצים node, ה-shell עובר על כל תיקייה ב-PATH ומחפש קובץ בשם node. 'command not found' אומר שלא נמצא באף תיקייה.
- ~/.bashrc
- קובץ שה-shell מריץ אוטומטית בכל פתיחת סשן אינטראקטיבי. מוסיפים לו שורות export לשמירת משתנים קבועים. אחרי עריכה, source ~/.bashrc טוען את הקובץ מחדש בסשן הנוכחי.