در لینوکس (همچنین UNIX) متغیر $PATH در حقیقت یک متغییر محیطی (Environment Variables) میباشد که برای اعلام مکان فایل های اجرایی به SHELL, استفاده میشود. متغییر $PATH امنیت و انعطاف پذیری بالایی را برای سیستم های لینوکسی فراهم میآورد و با اطمینان کامل میتوان گفت که این متغییر یکی از مهمترین متغییرهای محیطی لینوکس میباشد.
همچنین توصیه میشود مطالعه کنید :
تفاوت بین فایل های bashrc و bash_profile و profile چیست ؟
نحوه Set و Unset کردن متغییرهای محیطی مربوط به سیستم یا کاربر (به زودی)
برنامه ها/اسکریپت هایی که درون دایرکتوری $PATH قرار گرفتند میتوانند مستقیما در شل شما و بدون مشخص کردن مسیر کامل آنها اجرا شوند. در این مقاله شما نحوه تعریف متغییر $PATH به صورت کلی و جزئی را آموزش خواهید دید.
ابتدا ترمینال را باز کنید و دستور زیر را اجرا کنید تا مقدار $PATH جاری خود را مشاهده نمایید.
نتیجه دستور بالا باید چیزی شبیه به زیر باشد.
نتیجه بالا لیستی از دایرکتوری ها را نمایش میدهد که با کلون ":" از هم جدا شده اند. شما میتوانید به آسانی دایرکتوری های بیشتری را با ویرایش کردن فایل profile شل کاربر به آن اضافه کنید.
در shell های متفاوت باید به شرح زیر و در فایل مربوطه تغییرات اعمال شود.
لطفا دقت کنید که با توجه به نحوه login کردن شما در سیستم ممکن است فایل های متفاوتی خوانده شوند. در زیر لیستی از مواردی را مشاهده میکنید که در صفحه راهنمای bash ذکر شده در نظر داشته باشید که این فایل ها برای شل های دیگر نیز مشابه میباشد.
با بررسی موارد بالا شما میتوانید دایرکتوری های بیشتری را به متغییر $PATH به واسطه اضافه کردن خط زیر به فایل مربوطه add کنید.
البته در مثال بالا شما باید “/path/to/newdir” با مسیر دقیقی که شما میخواهید تعریف کنید تغییر دهید. به محض اینکه شما فایل .*rc یا .*_profile را تغییر دادید شما نیاز دارید که آنرا مجددا با استفاده از دستور source فراخوانی کنید.
برای مثال در bash شما میتوانید دستور زیر را اجرا کنید.
در زیر شما میتوانید مثالی از متغییر محیطی $PATH روی سیستم لوکال من مشاهده کنید.
ایجاد یک دایرکتوری لوکال bin برای کاربران که بتوانند فایل های اجراییشان را در آن قرار دهند یک تمرین عملی بسیار خوب است. هر کاربر فولدر مجزای خودش را برای ذخیره کردن محتوای مورد نظر خواهد داشت. این ایده همچنین میتواند معیار خوبی برای امن نگهداشتن سیستم تان باشد.
اگر هرگونه سوال یا مشکلی در تعریف متغییر محیطی $PATH خود داشتید در همین پست با ما مطرح کنید.
همچنین توصیه میشود مطالعه کنید :
تفاوت بین فایل های bashrc و bash_profile و profile چیست ؟
نحوه Set و Unset کردن متغییرهای محیطی مربوط به سیستم یا کاربر (به زودی)
برنامه ها/اسکریپت هایی که درون دایرکتوری $PATH قرار گرفتند میتوانند مستقیما در شل شما و بدون مشخص کردن مسیر کامل آنها اجرا شوند. در این مقاله شما نحوه تعریف متغییر $PATH به صورت کلی و جزئی را آموزش خواهید دید.
ابتدا ترمینال را باز کنید و دستور زیر را اجرا کنید تا مقدار $PATH جاری خود را مشاهده نمایید.
کد PHP:
$ echo $PATH
کد PHP:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
در shell های متفاوت باید به شرح زیر و در فایل مربوطه تغییرات اعمال شود.
کد:
Bash shell -> ~/.bash_profile, ~/.bashrc or profile Korn Shell -> ~/.kshrc or .profile Z shell -> ~/.zshrc or .zprofile
کد PHP:
/bin/bash
The bash executable
/etc/profile
The systemwide initialization file, executed for login shells
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
~/.bash_logout
The individual login shell cleanup file, executed when a login shell exits
~/.inputrc
Individual readline initialization file|
کد PHP:
$ export PATH=$PATH:/path/to/newdir
برای مثال در bash شما میتوانید دستور زیر را اجرا کنید.
کد PHP:
$ source ~/.bashrc
کد PHP:
mohammad@[linuxzone]:[/home/mohammad] $ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/mohammad/bin
اگر هرگونه سوال یا مشکلی در تعریف متغییر محیطی $PATH خود داشتید در همین پست با ما مطرح کنید.
کامنت