Environment Variables في Linux: استخدام export وPATH عمليًا
متغيرات البيئة في Linux تتحكم في سلوك الأوامر والبرامج بدون تعديل الكود نفسه. فهمها يوفر وقتا كبيرا في الإعداد والتشغيل.
في هذا الدرس ستتعلم كيف تنشئ المتغيرات وتستخدمها بشكل مؤقت أو دائم.
ما هي Environment Variables في Linux؟
- قيم نصية مخزنة في shell environment
- تستخدمها البرامج أثناء التشغيل
- أمثلة شائعة:
PATH,HOME,USER,SHELL
عرض متغيرات البيئة الحالية
env
printenv
echo $HOME
echo $PATH
استخدم echo $VAR_NAME لعرض قيمة متغير محدد.
إنشاء متغير مؤقت داخل الجلسة الحالية
MY_APP_ENV=dev
echo $MY_APP_ENV
بهذه الطريقة المتغير محلي في shell الحالي فقط، وقد لا يورث للبرامج الفرعية.
تصدير المتغير باستخدام export
export MY_APP_ENV=dev
printenv MY_APP_ENV
مع export يصبح المتغير متاحا للعمليات الفرعية التي تُشغّلها من نفس الجلسة.
فهم متغير PATH في Linux
PATH هو قائمة مسارات يبحث فيها النظام عن الأوامر التنفيذية.
echo $PATH
which python3
which ls
إذا كان ملف تنفيذي موجودا في أحد مسارات PATH، يمكنك تشغيله بدون كتابة المسار الكامل.
إضافة مسار إلى PATH (مؤقت)
export PATH="$PATH:/opt/mytools/bin"
هذا التعديل يضيع بعد إغلاق الجلسة الحالية.
جعل المتغيرات دائمة عبر .bashrc و.profile
nano ~/.bashrc
# أضف:
export MY_APP_ENV=production
export PATH="$PATH:$HOME/.local/bin"
source ~/.bashrc
| الملف | متى يستخدم غالبا |
|---|---|
~/.bashrc |
جلسات shell التفاعلية |
~/.profile |
جلسات تسجيل الدخول (login shell) |
/etc/environment |
متغيرات عامة على مستوى النظام |
تعريف متغيرات للجلسة الواحدة قبل تنفيذ أمر
APP_ENV=staging DEBUG=true php app.php
هذه الطريقة ممتازة لاختبار إعدادات مختلفة بسرعة بدون تعديل ملفات دائمة.
أفضل ممارسات التعامل مع Environment Variables
- استخدم أسماء واضحة وبحروف كبيرة مثل
APP_ENV - تجنب وضع كلمات مرور مباشرة في ملفات مكشوفة
- احتفظ بالمتغيرات الدائمة المنظمة داخل ملف واحد
- اختبر القيم بعد التعديل عبر
echoأوprintenv
تمرين عملي: إنشاء واختبار متغيرات بيئة
export COURSE_NAME="linux-basics"
echo $COURSE_NAME
echo 'export COURSE_LEVEL="beginner"' >> ~/.bashrc
source ~/.bashrc
echo $COURSE_LEVEL
إذا ظهرت القيم بشكل صحيح قبل وبعد source فأنت أتقنت الأساس.
FAQ: أسئلة شائعة حول متغيرات البيئة في Linux
ما هي متغيرات البيئة في Linux؟
هي قيم ديناميكية يستخدمها النظام والبرامج مثل PATH وHOME لتحديد السلوك والمسارات والإعدادات.
ما الفرق بين متغير مؤقت ومتغير دائم؟
المتغير المؤقت يعمل داخل الجلسة الحالية فقط، بينما المتغير الدائم يُحفظ في ملفات مثل .bashrc أو .profile.
كيف أضيف مسار جديد إلى PATH في Linux؟
يمكنك استخدام export PATH="$PATH:/new/path" مؤقتا، ثم إضافته إلى .bashrc لجعله دائما.
الخطوة التالية
في الدرس القادم سنتعلم الوقت والمزامنة في Linux باستخدام timedatectl وNTP.
التالي: الوقت وNTP