فهم متغير PATH وتخصيصه
أتقن كيفية تحديد shell لمواقع الملفات التنفيذية عبر متغير PATH، وتعلّم توسيعه بأمان واستكشاف مشكلاته وإصلاحها.
فهم متغير PATH وتخصيصه درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ما هو PATH؟
متغير البيئة PATH هو قائمة من المجلدات مفصولة بنقطتين رأسيتين، تبحث فيها الصدفة عن ملف قابل للتنفيذ عند كتابة أمر.
echo "$PATH"كيف تحل الصدفة الأمر
عند كتابة ls، تفحص الصدفة كل مجلد في PATH من اليسار إلى اليمين، وتشغّل أول ملف قابل للتنفيذ مطابق تجده.
type ls
which lsفحص موقع الأمر
استخدم which أو type أو command -v لمعرفة الملف الذي سيُشغّل لاسم معيّن.
command -v python3
type -a python3الترتيب مهم
نظرًا إلى أن البحث يتوقف عند أول تطابق، يحدد ترتيب المجلدات أي إصدار ستكون له الأولوية عند وجود إصدارين.
echo "$PATH" | tr ":" "\n"إضافة مجلد إلى PATH
أضف مجلدًا في البداية أو النهاية بإعادة تعيين PATH ثم إعادة تصديره. احرص دائمًا على تضمين $PATH الحالي حتى لا تمسحه.
export PATH="$HOME/bin:$PATH"الإضافة في البداية مقابل النهاية
تمنح الإضافة في البداية مجلدك الأولوية، بينما تجعل الإضافة في النهاية منه خيارًا احتياطيًا لا يُستخدم إلا إذا لم يطابق أي شيء آخر.
export PATH="$PATH:/opt/tools/bin" # fallback
export PATH="/opt/tools/bin:$PATH" # priorityجعل تغييرات PATH دائمة
تستمر التعديلات التي تُجرى عند موجّه الأوامر للجلسة الحالية فقط. ضع سطر التصدير في ~/.bashrc أو ~/.profile ليُحمّل في الصدفات الجديدة.
# in ~/.bashrc
export PATH="$HOME/.local/bin:$PATH"تجنّب الإدخالات المكررة
قد يؤدي تحميل ملف الإعدادات مرارًا إلى تكرار المجلد نفسه مرات عديدة. تحقّق من عدم وجوده قبل إضافته.
case ":$PATH:" in
*":$HOME/bin:"*) ;;
*) export PATH="$HOME/bin:$PATH" ;;
esacمشكلة المسار الفارغ
تضيف النقطتان الرأسيتان في البداية أو النهاية، أو النقطتان المتتاليتان، المجلد الحالي إلى مسار البحث، مما يشكل خطرًا أمنيًا. احرص على أن يخلو PATH من الحقول الفارغة.
# Risky: :: leading or trailing colon
bad="/usr/bin::/bin"
# Means current dir is searched - avoid thisPATH مؤقت لأمر واحد
يمكنك تعيين متغير بيئة لأمر واحد بوضعه قبل الأمر. ولا يستمر هذا التغيير.
PATH="/custom/bin:$PATH" mytool --versionاستكشاف خطأ command not found وإصلاحه
إذا لم تُعثر على أداة ثُبّتت حديثًا، فمن المحتمل أن يكون مجلد تثبيتها مفقودًا من PATH. اعثر على الملف التنفيذي وأضف مجلده.
find / -name mytool -type f 2>/dev/null
export PATH="/opt/mytool/bin:$PATH"تحقّق سريع
اختبر معرفتك بـ PATH.
مراجعة
لقد استكشفت متغير PATH:
- مجلدات مفصولة بنقطتين رأسيتين ويُبحث فيها من اليسار إلى اليمين
- يحدد الترتيب أي أمر مكرر سيتم تشغيله
- أضف في البداية لمنح الأولوية، وفي النهاية لاستخدامه كخيار احتياطي
- اجعل التغييرات دائمة في
~/.bashrc، وتجنب الحقول الفارغة والتكرارات
الأسئلة الشائعة
هل درس «فهم متغير PATH وتخصيصه» مجاني؟
نعم — نص درس «فهم متغير PATH وتخصيصه» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «فهم متغير PATH وتخصيصه»؟
أتقن كيفية تحديد shell لمواقع الملفات التنفيذية عبر متغير PATH، وتعلّم توسيعه بأمان واستكشاف مشكلاته وإصلاحها. تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «فهم متغير PATH وتخصيصه»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إدارة متغيرات البيئة (export، unset)
- ملفات بدء تشغيل Shell (.bashrc، .profile)
- إدارة الحزم (apt، yum، pacman)
- فهم متغير PATH وتخصيصه