اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

آموزش نحوه تعریف متغیر محیطی $path به صورت دائمی در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش نحوه تعریف متغیر محیطی $path به صورت دائمی در لینوکس

    در لینوکس (همچنین UNIX) متغیر $PATH در حقیقت یک متغییر محیطی (Environment Variables) میباشد که برای اعلام مکان فایل های اجرایی به SHELL, استفاده میشود. متغییر $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 
    نتیجه بالا لیستی از دایرکتوری ها را نمایش میدهد که با کلون ":" از هم جدا شده اند. شما میتوانید به آسانی دایرکتوری های بیشتری را با ویرایش کردن فایل profile شل کاربر به آن اضافه کنید.

    در shell های متفاوت باید به شرح زیر و در فایل مربوطه تغییرات اعمال شود.
    کد:
    Bash shell -> ~/.bash_profile, ~/.bashrc or profile
    Korn Shell -> ~/.kshrc or .profile
    Z shell -> ~/.zshrc  or .zprofile
    لطفا دقت کنید که با توجه به نحوه login کردن شما در سیستم ممکن است فایل های متفاوتی خوانده شوند. در زیر لیستی از مواردی را مشاهده میکنید که در صفحه راهنمای bash ذکر شده در نظر داشته باشید که این فایل ها برای شل های دیگر نیز مشابه میباشد.
    کد 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

    با بررسی موارد بالا شما میتوانید دایرکتوری های بیشتری را به متغییر $PATH به واسطه اضافه کردن خط زیر به فایل مربوطه add کنید.
    کد PHP:
    export PATH=$PATH:/path/to/newdir 
    البته در مثال بالا شما باید “/path/to/newdir” با مسیر دقیقی که شما میخواهید تعریف کنید تغییر دهید. به محض اینکه شما فایل .*rc یا .*_profile را تغییر دادید شما نیاز دارید که آنرا مجددا با استفاده از دستور source فراخوانی کنید.

    برای مثال در bash شما میتوانید دستور زیر را اجرا کنید.
    کد PHP:
    source ~/.bashrc 
    در زیر شما میتوانید مثالی از متغییر محیطی $PATH روی سیستم لوکال من مشاهده کنید.
    کد 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 
    ایجاد یک دایرکتوری لوکال bin برای کاربران که بتوانند فایل های اجراییشان را در آن قرار دهند یک تمرین عملی بسیار خوب است. هر کاربر فولدر مجزای خودش را برای ذخیره کردن محتوای مورد نظر خواهد داشت. این ایده همچنین میتواند معیار خوبی برای امن نگهداشتن سیستم تان باشد.

    اگر هرگونه سوال یا مشکلی در تعریف متغییر محیطی $PATH خود داشتید در همین پست با ما مطرح کنید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-05-2021, 11:40 PM.

    #2
    سلام.من فقط در حدی که نیاز داشتم با لینوکس آشنا شدم اما الان میخوام برای گوشیم کرنل کامپایل کنم و به این مشکل برخوردم:
    arm-eabi-gcc: No such file or directory
    Is your PATH set correctly?
    make[1]: *** [kernel/bounds.s] Error 2
    make: *** [prepare0] Error 2
    لطفا راهنمایی کنید

    کامنت

    درباره انجمن منطقه لینوکسی ها

    انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

    شبکه های اجتماعی
    در حال انجام ...
    X