Как добавить каталог в ПУТЬ?

Как мне добавить каталог в $PATH в Ubuntu и сделать изменения постоянными?

Использование ~/.profile для установки $PATH

Путь, установленный в .bash_profile будет установлен только в оболочке входа в систему bash (bash -l).Если вы поместите свой путь в .profile он будет доступен для вашего полного сеанса рабочего стола. Это означает, что даже metacity будет использовать его.

Например ~/.profile:

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

Кстати, вы можете проверить переменную 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/ чтобы повлиять на сеанс дисплейных менеджеров.

Редактировать .bashrc в вашем домашнем каталоге и добавьте следующую строку:

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

Вам нужно будет указать источник вашего .bashrc или выйдите из системы / войдите в систему (или перезапустите терминал), чтобы изменения вступили в силу. Для получения вашего .bashrc, просто введите

$ source ~/.bashrc

Рекомендуемое место для определения постоянного, общесистемный переменные среды, применяемые ко всем пользователям, находятся в:

/etc/environment

(именно там по умолчанию PATH определяется)

Это будет работать на рабочем столе или консоли, gnome-terminal или TTY, rain или shine ;)

  • Чтобы отредактировать, откройте терминал и введите:

    sudoedit /etc/environment

    (или откройте файл с помощью sudo в вашем любимом текстовом редакторе)

Чтобы заставить его работать без перезагрузки, запустите . /etc/environment или source /etc/environment. Поскольку этот файл представляет собой всего лишь простой скрипт, он будет запущен и назначит новый путь к PATH переменная среды. Чтобы проверить запуск env и увидеть, как PATH значение в списке.

Связанный:

Я думаю, что канонический способ в Ubuntu - это:

  • создайте новый файл в разделе /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

Для полных новичков (таких, как я), которым удобнее работать с графическим интерфейсом:

  1. Открой свой $HOME папка.
  2. Идти к СмотретьПоказывать Скрытые Файлы или нажмите Ctrl + H.
  3. Щелкните правой кнопкой мыши на .profile и нажмите на Открыть С Помощью Текстового Редактора.
  4. Прокрутите страницу вниз и добавьте PATH="$PATH:/my/path/foo".
  5. Сохранить.
  6. Выйдите из системы и снова войдите в систему, чтобы применить изменения (пусть Ubuntu действительно загрузится .profile).

Для постоянных переменных среды, доступных только определенным пользователям. Я настоятельно рекомендую официальную документацию Ubuntu.

https://help.ubuntu.com/community/EnvironmentVariables

Ссылаясь на документацию выше, я настроил свой Путь к Android SDK-инструменты около:

  1. создание ~/.pam_environment файл в домашнем каталоге.
  2. содержание которого является PATH DEFAULT=${PATH}:~/android-sdk-linux/tools.
  3. дополнительный пользовательский пользовательский путь может быть добавлен путем разделения путей с помощью двоеточие (:).
  4. это требует повторный вход в систему, что означает, что вам нужно выйти из системы и снова войти в среду рабочего стола.

Поместите эту строку в свой ~/.bashrc файл.

Он получает доступ всякий раз, когда вы открываете терминал

РЕДАКТИРОВАТЬ: Основываясь на приведенных ниже комментариях, для более общей настройки, которая будет применяться ко всем оболочкам (в том числе при нажатии Alt-F2 в Unity), добавьте строку в свой ~/.profile файл. Однако, вероятно, не следует делать и то, и другое, так как путь будет добавлен дважды к вашему PATH среда, если вы открываете терминал.

Чтобы установить его в масштабах всей системы, добавьте строку export PATH=/path/you're/adding:$PATH до конца /etc/profile.

Чтобы добавить каталог только для вошедшего в систему пользователя, добавьте ту же строку в ~/.bash_profile.

Добавление его в .bashrc будет работать, но я думаю, что более традиционный способ настройки ваших переменных пути находится в .bash_profile, добавив следующие строки.

PATH=$PATH:/my/path/fooexport PATH

Согласно с этот поток похоже, что поведение Ubuntu немного отличается от RedHat и клонов.

В терминале, cd к the_directory_you_want_to_add_in_the_path

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

Это была не моя идея. Я нашел этот способ экспортировать путь по этому адресу ведите блог здесь.

EnvironmentVariables - Community Help Wiki Здесь есть все, что вам нужно знать. Я обнаружил, что большая часть введенных здесь данных была неверной или, по крайней мере, метод не был предложен. Это отличная информация, которая позволит вам выяснить, где изменить переменную среды, исходя из причины, по которой вы это делаете, и как именно это сделать, не испортив все (как я сделал, следуя некоторым из вышеупомянутых плохих советов). Пока, и спасибо за всю рыбу!