Как мне изменить мой PATH, чтобы изменения были доступны в каждом сеансе терминала

Я хочу добавить каталог для поиска по моему пути поиска. Я знаю, что должен изменить переменную среды PATH. Однако я хочу, чтобы изменение было постоянным, чтобы оно действовало всегда для каждого открываемого мной окна терминала (bash).

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

Я использую Ubuntu 10.04. Перепутана запутанная и, возможно, противоречивая информация. Предположим, я хочу добавить /usr/local/foo к своему PATH. Какой файл (.bashrc, .profile, .bash_login и т. Д.) Мне следует изменить и как должны выглядеть новые строки?

53
задан 3 June 2017 в 18:45

9 ответов

Чтобы перезагрузить .profile и применить эффекты изменений без выхода из системы / входа в систему, выполните:

source ~/.profile
0
ответ дан 3 June 2017 в 18:45

Вы можете добавить путь к /etc/environment, но помните, что никакие расширения оболочки не будут работать; переменная будет установлена ​​буквально на символы, которые вы вводите.

0
ответ дан 3 June 2017 в 18:45
Going through the basics, I will suggest the following steps:
1. It's recommended to set environment variables in /etc/environment
2. Open the file as superuser in an editor as it's a read only file e.g.     gedit:
gksu gedit /etc/environment
3. System will need password to open it in editable mode. Enter your superuser password and get file opened in a new gedit window. 
4. Add new line at the end of file with 
export PATH=$PATH:/usr/local/foo
5. Save and close the window. It will get command back to terminal.
6. Refresh the environment by running the following command: 
. /etc/environment
7. You may check by executing the following command:
 echo $PATH
0
ответ дан 3 June 2017 в 18:45

Следующая команда добавляет путь к вашему текущему пути:

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

Если вы хотите, чтобы ваши настройки выполняли эту команду каждый раз, есть несколько мест, где вы можете ее разместить. При входе в систему следующие сценарии будут выполняться в следующем порядке:

/etc/profile      (which starts by loading everything in /etc/profile.d)
~/.profile        (which starts by loading ~/.bashrc if you are running bash)

Примечания

  • ~/.profile загружаются только в том случае, если [ 113] и ~/.bash_login НЕ СУЩЕСТВУЮТ. В противном случае, по крайней мере, Bash, будет загружать их вместо. Желательно использовать .profile, а не специфичные для bash скрипты. Итак, если в этих попытках вы создали .bash_login, , удалите их сейчас.

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

  • ~/.bashrc загружается снова и снова, каждый раз, когда вы открываете новый терминал . Итак, новая вкладка в gnome-terminal, новый виртуальный терминал и т. Д. Поэтому, даже если вы не авторизуетесь снова, .bashrc загружается (и таким образом сбрасывает свою среду) каждый раз, когда вы открываете новую оболочку.

    [ 1116]
  • Такие вещи, как Бёбу, действительно должны войти в .profile, (иначе это не сработает; -)

  • Такие вещи, как пути, должны войти в .profile, если вы хотите, чтобы они работали вне интерактивных сессий. (скажем, когда вы нажимаете Alt + F2 в GNOME)

0
ответ дан 3 June 2017 в 18:45

Я заставил его работать, изменив ~/.profile

Похоже, добавление ~ / bin к моему пути было плохим примером, так как в ~ / .profile уже есть код, который делает это автоматически, если каталог существует.

Чтобы добавить каталог usr / local / foo в мой путь для каждой последующей сессии, я добавляю / редактирую следующую строку в конце моего .profile:

export PATH=$PATH:/usr/local/foo

Однако, чтобы сделать это вступили в силу, мне нужно было выйти и снова войти в систему (просто закрытие окна терминала и открытие нового НЕ работало).

0
ответ дан 3 June 2017 в 18:45

Вы можете изменить файл .bashrc в каталоге $HOME.

В самом конце этого файла добавьте строку:

export PATH="$HOME/directory_to_include_in_path/:$PATH"

Вы также можете изменить файл .profile, также в вашем каталоге $HOME, включая следующую строку:

PATH="$HOME/directory_to_include_in_path/:$PATH"

Это сработало для меня.

0
ответ дан 3 June 2017 в 18:45

Если у Вас есть ohmyzsh goto Ваш корневой каталог через терминал, и тип

nano .zshrc

В конце файла входят

, экспорт СОЕДИНЯЕТ =" $HOME/directory_to_include_in_path/каналом: $PATH"

Наконец перезапускают Ваш терминал. Работавший для меня. Надежда это было полезно.

0
ответ дан 5 September 2019 в 09:55

Это то, что сработало для меня

При настройке переменной JAVA_HOME

В терминале запустите, чтобы создать переменную

echo 'export JAVA_HOME=“/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home' | sudo tee -a ~/.profile

запустите, чтобы добавить переменную в путь

echo 'export PATH="${JAVA_HOME}/bin:$PATH"' | sudo tee -a ~/.profile

,затем

source ~/.profile

Чтобы убедиться, что переменная установлена ​​правильно, запустите

vi .profile

,затем :q, чтобы выйти

Чтобы изменить файл .profile (в случае исправления ) run

sudo vi .profile

Нажмите I для вставки.

После изменений нажмите Esc и :wq для сохранения и выхода.

0
ответ дан 2 April 2020 в 21:08

Сначала добавьте сценарий оболочки в каталог /etc/profile.d.

echo 'export PATH=$PATH:/path/to/app' | sudo tee /etc/profile.d/custom-apps-path.sh > /dev/null

После этого приложение будет доступно через прямой вызов при следующем входе в оболочку.

Чтобы сделать приложение доступным в текущей оболочке, выполните следующую команду:

source /etc/profile.d/custom-apps-path.sh
0
ответ дан 18 November 2020 в 13:59

Другие вопросы по тегам:

Похожие вопросы: