اطلاعیه

بستن
No announcement yet.

چگونه یک مسیر جدید به path اضافه کنیم ؟

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

    چگونه یک مسیر جدید به path اضافه کنیم ؟

    من یک پکیجی رو نصب کردم که داخل پوشه opt نشسته و مثلا برای استارت و استاپ کردن اون سرویس حتما باید مسیر فایل مورد نظر در پوشه opt رو که طولانی هم هست استفاده کنم میخواستم بدونم چطور یک مسیر جدید به متغییر محیطی PATH اضافه میشه ؟ من میدونم که با ویرایش فایل bash_rc. این کار انجام میشود اما به صورت واضح نمیدونم باید چه کاری انجام بدم ؟
    به این صورت:
    کد PHP:
    export PATH=~/opt/bin:$PATH 
    و یا به صورت زیر:
    کد PHP:
    export PATH=$PATH:~/opt/bin 
    و اما سوال دوم اینکه چگونه میتوان بیشتر از یک مسیر رو توی خط های متفاوتی اضافه کرد ؟ فکر میکنم که ترفند زیر موثر باشه:
    کد PHP:
    export PATH=$PATH:~/opt/bin 
    export PATH
    =$PATH:~/opt/node/bin 
    اما این کار نمیکنه به خاطر اینکه خط دوم نه تنها اضافه نمیشه بلکه مسیر کلی رو خط اول در نظر میگیره.
    آیا دستور زیر درست کار میکنه:
    کد PHP:
    export PATH=$PATH:~/opt/bin:~/opt/node/bin 
    پیشاپیش تشکر میکنم از راهنمایی های دوستان

    من قلبی بزرگ با رویاهایی بزرگ دارم. دانسته هایمان را با هم به اشتراک بگذاریم.

    #2
    ساده ترین راه:
    کد PHP:
    PATH=$PATH:~/opt/bin
    PATH
    =~/opt/bin:$PATH 
    و این بستگی به این داره که شما بخواهید مسیر opt/bin/~ را در اول (که قبل از سایر دایرکتوری های دیگه سرچ بشه) یا آخر (که بعد از دایرکتوری های دیگه سرچ بشه) اضافه کنید. (با توجه به اینکه در یک برنامه در پوشه های متفاوت نام یکسانی وجود داره شما میتوانید مسیر های متعددی رو همزمان اضافه کنید:
    کد PHP:
    PATH=$PATH:~/opt/bin:~/opt/node/bin 
    شما اگر متغییر از قبل در environment باشد شما نیاز نیست که آن را export کنید و هر گونه تغییری در مقدار متغییر به سرعت در environment لحاظ میشود.
    PATH همیشه در environment هست تمام سیستم های unix آن را خیلی سریع و در یک مرحله خیلی اولیه تنظیم میکنند. اگر مسیر شما از تعداد متفاوتی components تشکیل شده باشد شما ممکن است با مسیرهای تکراری end up بشوید.
    و حالا کجا باید این مسیر تعریف شود:
    دقت کنید فایل bash_rc./~ توسط هر برنامه ای قابل خواندن نیست و فایل bashrc./~ در حقیقت فایل تنظیمات bash میباشد و شما نباید متغییرهای محیطی را در bashrc./~ تعریف کنید. بهترین جا برای تعریف متغییرهای محیطی مانند PATH فایل profile./~ میباشد و یا فایل bash_profile./~ اگر شما به سایر شل های (shell) دیگر به غیر از bash اهمیتی نمیدهید.
    نکاتی درباره انواع shell ها به غیر از bash:
    در شل های bash , ksh و zsh عملیات export یک syntax خاص بوده و هر 2 دستور زیر:
    کد PHP:
    PATH=~/opt/bin:$PATH 
    و:
    کد PHP:
    export PATH=~/opt/bin:$PATH 
    در حقیقت کار درست را انجام میدهند. در شل های دیگر مانند شل های Bourne/POSIX-style مانند dash (که در سیستم های زیادی در مسیر bin/sh/ موجود است) عملیات export به عنوان یک دستور معمولی محاسبه میشود که دو تفاوت را ایجاد میکند:
    علامت مد (~) تنها در ابتدای یک کلمه استفاده میشود مگر در assignment ها.
    متغییر PATH$ خارج از double quotes (دابل کوتیشن) اگر PATH شامل فضای خالی و یا .?*]\ باشد در حقیقت درست کار نمیکند.
    بنابراین در شل هایی مانند dash دستور:
    کد PHP:
    export PATH=~/opt/bin:$PATH 
    PATH را برای مسیر /opt/bin/~ تعریف میکند که به دنبال آن مقدار PATH بعد از اولین space قرار میگیرد.

    اگر شما بخواهید در یک اسکریپت از export استفاده کنید شما باید مانند زیر بنویسید:
    کد PHP:
    export PATH="$HOME/opt/bin:$PATH

    کامنت

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

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

    شبکه های اجتماعی

    ایمیل مدیریت

    Habili@linux-zone.org

    در حال انجام ...
    X