Постійна змінна PATH


38

Як зробити цю /media/De Soft/mongodb/binзмінну PATH постійною?

Усі говорять " export PATH=$PATH:media/De\ Soft/mongodb/binсвоєму ~/.profile, або .bashrc, або .zshenvзалежно від вашої оболонки".

Я не знаю , що це ~/.profile, або .bashrc, або .zshenv. Що вони роблять насправді?

Як додати export PATH=$PATH:my/pathдо свого .profile / .bashrc / .zshenv?

Я використовую 64-бітний Ubuntu 14.04 LTS з терміналом за замовчуванням.

Відповіді:


70

Вони є файлами конфігурації. Односторонній:

  • Відкрийте вікно терміналу за допомогою Ctrl + Alt + T
  • Виконайте команду gedit ~/.profile
  • Додайте рядок

    export PATH=$PATH:/media/De\ Soft/mongodb/bin

    донизу і збережіть

  • Вийдіть і увійдіть знову

Редагувати:

Більш безпечним способом є використання цитат. Це необхідно, якщо один або кілька каталогів в оригіналі PATHмістять пробіли. Так:

export PATH="$PATH:/media/De Soft/mongodb/bin"

@GunnarHjalmarsson, чи мені справді потрібно експортувати PATH var? Можливо, це робиться за замовчуванням в якомусь іншому сценарії? Я перевірив ~ / .profile, і PATH var є, але це не експортується явно: PATH = ~ / .local / bin: $ JAVA_HOME / bin: $ PATH
yuranos87

4
@ yuranos87: ​​Ні, ти маєш рацію; при зміні PATHв ~/.profile, експорт є зайвим, так як PATHвже є змінна оточення.
Gunnar Hjalmarsson

1
Вам не потрібно виходити та входити знову. Використовуйте source ~/.profile.
тембо

1
@timbo: Це не робить змінною доступною для вже запущених процесів у сеансі (за винятком поточного терміналу).
Gunnar Hjalmarsson

1
Чи не потрібна вам лапка в рядку як у export PATH="$PATH:/media/De\ Soft/mongodb/bin"? Це необов’язково?
Бруно Бентцен

4

Введіть наступне у вікно терміналу

export PATH=/media/De\ Soft/mongodb/bin:$PATH 

Закрийте термінал і перезавантажте комп'ютер. Шлях повинен включати / media / De \ Soft / mongodb / bin, коли ви вводите це в терміналі:

echo $PATH

13
Це працює лише для поточного сеансу терміналу. Він повинен бути в ~/.profile(або ~/.bashrcна загальних дистрибутивах GNU / Linux ... навіть ~/.bash_profile), щоб запускатись на кожному завантаженні консолі.
Алехандро Іван

домовились. але при перезапуску системи він завантажується в змінну шляху.
Nivedita Velagaleti

10
@NiveditaVelagaleti: Ні, це не є, якщо ви не зробите його стійким через конфігураційний файл. Командна команда терміналу не змінюється PATHпостійно.
Gunnar Hjalmarsson

2

Для постійної зміни PATHпотрібно внести зміни до /etc/environmentфайлу. Зробіть резервну копію перед редагуванням:

sudo cp /etc/environment /etc/environment.bak
sudo nano /etc/environment

вибірка вибірки:

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

Шляхи розмежовані :так, щоб додати новий шлях, скажімо, x/y/zце буде так, як /etc/environmentвиглядає наше :

PATH="x/y/z:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.