في هذا المقال إن شاء الله سنتعلم عن PATH وكيفيه استخدمه في لينكس .
عموما معظم البرامج التي تعمل في بيئة لينكس تعمل بشكل سلس ولا تحتاج أن تحدد لها المسار الخاص بها لتعمل
لكن أحيانا ربما تحتاج إلى تحديد مسار برنامجك يدويا خاصة إذا كان سكربت وإيضا بعض البرامج التي تعمل خارج المستودعات الرسمية.
كذالك ستحتاج إلى تحديد مسار البرنامج إذا كان البرنامج او السكربت يعمل من مسار غير غير معتاد مثل المسارات bin او usr/bin بل هي مسارات أخرى غير معيارية كأن يكون في home مثلا.
نأتي الان الى السؤال المهم
ماهو Path Environment Variable؟
ممكن أن نقول عنه انه البيئة التي تستخدم لتعريف مسارات تشغيل التطبيقات
وتحتوي علي قائمة بمسارات البرامج
PATH :
هو متغير يخبر shell عن المسار الذي ينبغي البحث فيه عن الملفات التنفيذيه .
نأتي إلى أهم جزء في المقال وهو :
كيفيه إضافة مسار الى PATH
لمعرفة المسارات الموجودة في PATH.
echo $PATH
الناتج سيكون مسارات مفصولة ب “:” حيث أن مايأتي وراء هذا الرمز يتم إضافته الى المسار الحالي.
export PATH=$PATH:/srv/scripts
يقوم shell بالبحث في المسارات التالية للملفات التنفيذية:
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin
/home/linuxiac/.dotnet/tools
إذا وجد ملفين تنفيذين تتشارك نفس الاسم يقوم shell بتشغيل الملف الذي يأتي ترتيبه اولا في PATH.
إضافة مسار الى PATH بشكل مؤقت
لنفترض أنك عملت سكربت في المسار
/srv/scripts
إذا أردت إضافة هذا المشار الى PATH
export PATH=$PATH:/srv/scripts
لنرى محتويات PATH
echo $PATH
إذا أردت أن تجعل الأولوية للبحث لهذا المسار
export PATH=/srv/scripts:$PATH
ملاحظة هامة
هذه المسارات التي اضفتها بالطريقة السابقة هي مؤقته و ستختفي بمجرد تسجيل خروج او الخروج من shell لانه يحفظ مؤقتا في الجلسة الخاصة ب shell
كيف يمكن جعل هذا التغيير مستمر ؟
ذالك يتم بإضافة مسار ثابت الى PATH الى .bashrc نفتح الملف بمحرر نانو
nano ~/.bashrc
نضيف السطر التالي الى نهاية الملف
export PATH=$PATH:/srv/scripts
الخطوة الاخيرة هي حفظ الملف وعمل load لPATH الجديد الى الجلسة الحالية الخاصة ب shell
source ~/.bashrc
يمكنك الان مشاهدة المسار الجديد الذي تم إضافته الى PATH
echo $PATH
في أمان الله ![]()
المصادر
هذا الموضوع فائز بجائزة أسس للكتابة
هذا الموضوع فائز بجائزة أسس للكتابة وهي اول جائزة عربية مخصصة للكتابة عن البرمجيات الحرة والمفتوحة.
الموضوع متوفر على مدونة gnulinuxsa هنا:


