الدرس 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 يضيف المدخل الناقص — يعمل الآن، لكن لهذه الجلسة فقط. ولكي
$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 يعيد تحميله في الجلسة الحالية.