چگونه یک دایرکتوری به PATH اضافه کنیم؟


به جواب پذیرفته شده بروید




چگونه می توانم یک فهرست به $PATH اوبونتو اضافه کنم و تغییرات را دائمی کنم؟


747









17 :تعداد پاسخها


با استفاده از of / .profile برای تنظیم $ PATH

مسیری تنظیم شده .bash_profile فقط در یک پوسته ورود به سیستم ایجاد می شود ( bash -l ). اگر مسیر خود را در .profile آن قرار دهید ، برای جلسه دسک تاپ کامل شما در دسترس خواهد بود. این بدان معناست که حتی metacity از آن استفاده می کند.

به عنوان مثال ~/.profile :

 if [ -d "$HOME/bin" ] ; then
  PATH="$PATH:$HOME/bin"
fi
 

Btw ، شما می توانید متغیر PATH یک فرآیند را با نگاه کردن به محیط آن در بررسی کنید /proc/[pid]/environ ([pid] را با عدد از آن جایگزین کنید ps axf ). به عنوان مثال استفاده grep -z "^PATH" /proc/[pid]/environ

توجه داشته باشید:

bash اگر یک پوسته ورود به سیستم وجود ندارد یا وجود دارد تجزیه نمی .profile شود . از : .bash_profile .bash_login man bash

به دنبال آن ~ / .bash_profile ، ~ / .bash_login ، و ~ / .profile می باشد ، و دستورات خوانده شده و اجرا شده را از اولین موجودی که وجود دارد و قابل خواندن است ، انجام می دهد.

برای اطلاعات در مورد ، یا در مورد پوسته های غیر ورود به تعامل ، پاسخ های زیر را مشاهده کنید .pam_environment ، یا .bashrc با قرار دادن یک اسکریپت /etc/profile.d/ یا استفاده از آن /etc/X11/Xsession.d/ برای تأثیرگذاری بر جلسه مدیران صفحه ، مقدار را برای همه کاربران تعیین کنید .


464



.bashrc در فهرست خانه خود ویرایش کنید و خط زیر را اضافه کنید:

 export PATH="/path/to/dir:$PATH"
 

.bashrc برای ایجاد تغییرات باید به منبع یا ورود به سیستم / ورود به سیستم (یا راه اندازی مجدد ترمینال) نیاز داشته باشید. برای منبع خود .bashrc ، به سادگی تایپ کنید

 $ source ~/.bashrc
 

314



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

 /etc/environment
 

(که در آن پیش فرض PATH تعریف شده است)

این کار در دسک تاپ یا کنسول ، ترمینال gnome یا TTY ، باران یا درخشش خواهد بود.)

  • برای ویرایش ، Alt+ را فشار دهید F2و تایپ کنید:

     gksudo gedit /etc/environment
     

    (یا پرونده را با استفاده از sudo ویرایشگر متن مورد علاقه خود باز کنید)

برای تأثیر تغییرات ، اجرا کنید . /etc/environment . از آنجا که این پرونده فقط یک اسکریپت ساده است ، آن را اجرا کرده و مسیر جدید را به PATH متغیر محیط اختصاص می دهد. برای بررسی اجرای env و مشاهده PATH مقدار موجود در لیست.

مربوط:


124


2012-07-31

من فکر می کنم روش متعارف در اوبونتو این است:

  • یک پرونده جدید را در زیر ایجاد کنید /etc/profile.d/

     sudo vi /etc/profile.d/SCRIPT_NAME.sh
     
  • اضافه کردن در آنجا:

     export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
     
  • و اجازه اجرای آن را بدهید

     sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
     

59



برای تازه واردان کامل (مثل من) که با GUI راحت تر هستند:

  1. $HOME پوشه خود را باز کنید .
  2. به مشاهده بروید → نمایش پرونده های مخفی یا فشار Ctrl+ را فشار دهید H.
  3. کلیک راست کرده .profile و روی Open With Text Editor کلیک کنید .
  4. به پایین بروید و اضافه کنید PATH="$PATH:/my/path/foo" .
  5. صرفه جویی.
  6. برای اعمال تغییرات وارد سیستم شوید و دوباره وارد سیستم شوید (اجازه دهید اوبونتو واقعاً بارگیری کند .profile ).

47



برای متغیرهای محیط پایدار فقط در دسترس کاربران خاص است. من اسناد رسمی اوبونتو را بسیار توصیه می کنم.

https://help.ubuntu.com/community/En محیطVariables

با مراجعه به اسناد موجود در بالا ، من ابزارهای مسیر SDK Android خود را توسط:

  1. ایجاد ~/.pam_environment پرونده در فهرست خانه.
  2. محتوای آن است PATH DEFAULT=${PATH}:~/android-sdk-linux/tools .
  3. مسیر جداگانه کاربر سفارشی را می توان با جدا کردن مسیرها با روده بزرگ (:) اضافه کرد .
  4. این کار نیاز به ورود مجدد دارد ، به این معنی که باید به سیستم دسک تاپ وارد شوید و به سیستم وارد شوید.

46



آن خط را در ~/.bashrc پرونده خود قرار دهید .

هر زمان که ترمینال را باز می کنید ، منبع می شود

ویرایش : بر اساس نظرات زیر، برای یک محیط کلی تر است که به تمام پوسته (از جمله زمانی که شما ضربه اعمال خواهد شد Alt- F2در وحدت)، اضافه کردن خط به خود ~/.profile فایل. احتمالاً نباید هر دو را انجام دهید ، زیرا در PATH صورت باز شدن ترمینال ، مسیر دو بار به محیط شما اضافه می شود.


26



برای تنظیم گسترده آن ، خط را export PATH=/path/you're/adding:$PATH تا انتهای آن اضافه کنید /etc/profile .

برای افزودن دایرکتوری فقط برای کاربر وارد شده ، همان خط را به آن اضافه کنید ~/.bash_profile .


15



اضافه کردن آن به .bashrc کار خواهد کرد اما فکر می کنم روش سنتی تر برای تنظیم متغیرهای مسیر شما با اضافه کردن سطرهای زیر در .bash_profile است.

 PATH=$PATH:/my/path/foo
export PATH
 

با توجه به این موضوع ، به نظر می رسد که رفتار اوبونتو کمی متفاوت از RedHat و کلون ها است.


14



در ترمینال ، cd به the_directory_you_want_to_add_in_the_path

 echo "export PATH=$(pwd):\${PATH}" >> ~/.bashrc
 

این ایده من نبود. من این روش را برای صادر کردن مسیر در این وبلاگ در اینجا پیدا کردم .


10



 sudo vi /etc/profile.d/SCRIPT_NAME.sh
 

اونجا اضافه کن

 export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
 

8


2011-01-13

هر وقت پوشه اسکریپت های BASH را نصب کردم ، الگوی آزمایش را برای $HOME/bin پوشه ای که در اکثر پرونده های پیشرفته در نسخه های اخیر اوبونتو وجود دارد ، دنبال می کنم. من یک تست را تنظیم کردم که به نظر برسد

 if [ -d "/usr/scripts" ]; then
   PATH="/usr/scripts:$PATH"
fi
 

این تقریباً 100٪ از زمان کار می کند ، و من را قادر می سازم که آنرا در ویرایشگر متن GUI با یک "جایگزین کردن همه" سریع آنرا تغییر دهم اگر تصمیم بگیرم /scripts جایی را به $HOME پوشه خود نزدیک کنم . من در 6 نصب اوبونتو چنین کاری نکرده ام ، اما "همیشه فردا" وجود دارد. س

BZT


6



راه پیشنهادی برای ویرایش شما PATH از /etc/environment پرونده است

خروجی مثال /etc/environment :

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
 

به عنوان مثال ، برای اضافه کردن مسیر جدید از /home/username/mydir

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"
 

سپس رایانه را مجدداً راه اندازی کنید.


متغیرهای محیطی گسترده در سیستم

یک فایل مناسب برای تنظیمات متغیر محیطی که بر کل سیستم تأثیر می گذارد (بجای اینکه فقط یک کاربر خاص باشد) / etc / محیط است. یک جایگزین برای ایجاد پرونده برای این هدف در فهرست /etc/profile.d است.

/ و غیره / محیط

این پرونده به طور خاص برای تنظیمات متغیر محیطی گسترده در سیستم ارائه شده است. این یک فایل اسکریپت نیست ، بلکه بیشتر از عبارات انتساب ، یک در هر خط تشکیل شده است.

توجه: گسترش متغیر در / etc / محیط کار نمی کند.

اطلاعات بیشتر را می توان در اینجا یافت: EnvironmentVariables


6



ترمینال خود را باز کنید ، gedit .profile موارد زیر را تایپ و وارد کنید:

 # set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$PATH:$HOME/bin"
fi

 #the following line add Bin where you dont have a Bin folder on your $HOME
    PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"
 

پایانه بسته و باز ، باید کار کند.


4



آن را به سمت ~/.bashrc و یا Whitevershell خود که از rc استفاده می کنید قرار دهید (یا قبل از آن ~/.profile ) و ~/.xsessionrc بنابراین در X (پوسته خارج) نیز کار خواهد کرد.


2



حتی اگر اسکریپت های سیستم از این استفاده نمی کنند ، در هر یک از مواردی که شخص می خواهد مسیری (مثلاً $HOME/bin ) را به متغیر محیط PATH اضافه کند ، باید از آن استفاده کرد

 PATH="${PATH:+${PATH}:}$HOME/bin"
 

برای ضمیمه (به جای PATH="$PATH:$HOME/bin" ) ، و

 PATH="$HOME/bin${PATH:+:${PATH}}"
 

برای آماده سازی (به جای PATH="$HOME/bin:$PATH" )

این امر باعث جلوگیری از روده بزرگ / دنباله دار طوفان هنگام $PATH خالی شدن می شود که می تواند اثرات ناخواسته ای داشته باشد.

به عنوان مثال https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset مراجعه کنید


1



برای اوبونتو ~/.bashrc خط زیر را ویرایش کرده و اضافه کنید.

. ~/.bash_profile

سپس .bash_profile خود را در صورت نیاز ویرایش کنید .....


-1


2009-11-19

انتشارات مرتبط


چگونه می توان برنامه هایی را به Unity Launcher یا Ubuntu Dock اضافه کرد؟

چگونه می توان صادرات ماهی را مانند .bashrc به ماهی اضافه کرد؟

چگونه Minecraft را به پرتاب Unity اضافه کنیم؟

چگونه نشانک را به Nautilus 3.6 اضافه کنیم؟

چگونه می توان پشتیبانی از منوی جهانی را به یک برنامه غیر gtk ، بدون qt پایتون اضافه کرد؟

نحوه اضافه کردن کاربران به vboxusers

چگونه می توان "اضافه کردن به لیست پخش VLC" را در منوی کلیک راست Nautilus اضافه کرد؟

چگونه Eclipse را به موارد دلخواه اضافه کنیم؟

چگونه کاربر را به Ubuntu Phone اضافه کنیم؟

نحوه افزودن پشتیبانی از فرمت تصویر JPEG

[environment-variables] سوال برچسب


چگونه حالت bash یا ssh را به یک ظرف در حال اجرا در حالت پس زمینه تبدیل کنیم؟

چگونه می توانم به صورت بازگشتی تمام پرونده های یک برنامه افزودنی خاص را در فهرست فعلی حذف کنم؟

PPA چیست و چگونه می توانم از آنها استفاده کنم؟

چگونه سرعت اینترنت را از طریق ترمینال بررسی کنیم؟

تفاوت بین apt-get چیست؟

چگونه می توانم کلید عمومی را از یک کلید خصوصی SSH بازیابی کنم؟

چگونه خواب زمستانی را فعال کنیم؟

دایرکتوری ریشه سیستم فایل اوبونتو در سیستم فرعی ویندوز برای لینوکس و برعکس کجاست؟

تفاوت بین بروزرسانی apt-get و بروزرسانی چیست؟

چگونه فضاهای کاری را روشن کنم؟ (چرا فقط یک فضای کاری دارم؟)