Как добавить каталог $PATH
в Ubuntu и сделать изменения постоянными?
environment-variables
justingrif
источник
источник
Ответы:
Использование ~ / .profile для установки $ PATH
Заданный путь
.bash_profile
будет установлен только в оболочке входа bash (bash -l
). Если вы введете свой путь,.profile
он будет доступен для всего сеанса рабочего стола. Это означает, что даже metacity будет использовать его.Например
~/.profile
:Кстати, вы можете проверить переменную PATH процесса, посмотрев на его среду
/proc/[pid]/environ
(замените [pid] числом изps axf
). Например использоватьgrep -z "^PATH" /proc/[pid]/environ
Примечание:
bash
поскольку оболочка входа в систему не разбирает,.profile
если либо существует,.bash_profile
либо.bash_login
Отman bash
:Смотрите ответы ниже информация о
.pam_environment
, или.bashrc
для интерактивных нерегистрируемых оболочек, или установить значение глобально для всех пользователей, поместив скрипт в/etc/profile.d/
или использовать ,/etc/X11/Xsession.d/
чтобы повлиять на сессию менеджеров.источник
PATH="$HOME/bin:$PATH"
Так я его добавлю?Отредактируйте
.bashrc
в вашем домашнем каталоге и добавьте следующую строку:Чтобы
.bashrc
изменения вступили в силу, вам нужно будет указать свой исходящий код или выйти из системы / войти (или перезапустить терминал). Чтобы найти свой.bashrc
, просто введитеисточник
.bashrc
"? Как вы «перезапустите терминал»?.bashrc
не правильное место для установки переменных среды. Они должны войти.profile
или.pam_environment
. См. Mywiki.wooledge.org/DotFiles. .bashrc
нет.bashrc
:) илиsource .bashrc
в этом отношенииРекомендуемое место для определения постоянных общесистемных переменных среды, применяемых ко всем пользователям:
(где определяется значение по умолчанию
PATH
)Это будет работать в десктопе или консоли, gnome-терминале или TTY, в дождь или блеск;)
Для редактирования нажмите Alt+ F2и введите:
(или откройте файл, используя
sudo
ваш любимый текстовый редактор)Чтобы внести изменения, запустите
. /etc/environment
. Поскольку этот файл является простым сценарием, он будет запускаться и назначать новый путьPATH
переменной среды. Чтобы проверить запустить env и увидетьPATH
значение в листинге.Связанный:
источник
source /etc/environment
чтобы перезагрузить измененияЯ думаю, что канонический путь в Ubuntu:
создать новый файл под
/etc/profile.d/
добавьте туда:
и дать ему разрешение на выполнение
источник
Для полных новичков (как я), которые более удобны с GUI:
$HOME
папку..profile
и выберите « Открыть с помощью текстового редактора» .PATH="$PATH:/my/path/foo"
..profile
).источник
$PATH:
бит , который включает в себя существующее определение PATHДля постоянных переменных среды доступны только для определенных пользователей. Я настоятельно рекомендую официальную документацию по Ubuntu.
https://help.ubuntu.com/community/EnvironmentVariables
Ссылаясь на приведенную выше документацию, я настроил свои инструменты пути Android SDK следующим образом:
~/.pam_environment
файла в домашнем каталоге.PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
.источник
Поместите эту строку в свой
~/.bashrc
файл.Он получает каждый раз, когда вы открываете терминал
РЕДАКТИРОВАТЬ : Основываясь на комментариях ниже, для более общей настройки, которая будет применяться ко всем оболочкам (в том числе, когда вы нажмете Alt- F2в Unity), добавьте строку в ваш
~/.profile
файл. Однако, вероятно, не следует делать и то и другое, поскольку путь будет добавлен в вашуPATH
среду дважды, если вы откроете терминал.источник
$HOME/.profile
для личных настроек, либо/etc/profile
для всех пользователей. Но если это нужно только для bash, я думаю, что любой из них будет работать.~/.bashrc
, он будет доступен только на открытых вами терминалах. Например, если вы нажмете Alt + F2 и попробуете выполнить команду из этого каталога, она не будет найдена. Если вы установите его в~/.profile
или~/.pam_environment
, сеанс gnome (или какой DE вы используете) унаследует его. Добавление PATH в~/.bashrc
также имеет недостаток, заключающийся в том, что если вы в интерактивном режиме открываете / исполняете bash из другой интерактивной оболочки bash, он будет добавляться несколько раз.~/.profile
это правильно для личных путей, хотя; вот где Ubuntu добавляет~/bin
каталог. И я признаюсь, что немного преувеличил количество способов - только немного.~/.profile
в этом случае тоже.Для настройки всей системы добавьте строку
export PATH=/path/you're/adding:$PATH
в конец/etc/profile
.Чтобы добавить каталог только для вошедшего в систему пользователя, добавьте ту же строку в
~/.bash_profile
.источник
Добавление его в .bashrc будет работать, но я думаю, что более традиционный способ установки переменных пути - это .bash_profile, добавив следующие строки.
Согласно этой теме, похоже, что поведение Ubuntu немного отличается от поведения RedHat и клонов.
источник
.bashrc
, вставьте.bashrc
вместо этого. Терминалы GUI в Ubuntu не являются оболочками входа в систему, поэтому.bash_profile
не будут работать..bash_profile
. Если bash не находит.bash_profile
(когда вы входите в систему в интерактивном режиме), он будет искать.profile
и использовать вместо этого. По умолчанию у вас будет.profile
и.bashrc
Ubuntu. И.profile
это правильное место для установки переменных среды, если мы игнорируем pam_env.В терминале,
cd
чтобыthe_directory_you_want_to_add_in_the_path
Это была не моя идея. Я нашел этот способ экспорта пути в этом блоге здесь .
источник
добавить туда
источник
sudo nano /etc/profile.d/SCRIPT_NAME.sh
легче для начинающих.gksu gedit /etc/profile.d/SCRIPT_NAME.sh
еще проще.Всякий раз, когда я «устанавливаю» свою папку сценариев BASH, я следую шаблону проверки для
$HOME/bin
папки, которая находится в большинстве файлов .profile в последних версиях Ubuntu. Я установил тест, который выглядит какЭто работает примерно в 100% случаев, и я могу свободно менять его в текстовом редакторе с графическим интерфейсом пользователя с помощью быстрого «Заменить все», если я решу переместиться
/scripts
куда-нибудь ближе к своей$HOME
папке. Я не делал этого в 6 установках Ubuntu, но «всегда завтра». SBZT
источник
Рекомендуемый способ , чтобы изменить свою
PATH
от/etc/environment
файлаПример вывода
/etc/environment
:Например, чтобы добавить новый путь
/home/username/mydir
Затем перезагрузите компьютер.
Более подробную информацию можно найти здесь: EnvironmentVariables
источник
Откройте свой терминал, введите
gedit .profile
и вставьте следующее:Закройте и откройте терминал, он должен работать.
источник
Поместите его в вашу
~/.bashrc
или любую другую оболочку, которую вы используете rc (или вышеупомянутую~/.profile
) И~/.xsessionrc
так, чтобы она также работала в X (внешняя оболочка).источник
Даже если системные скрипты не используют это, в любом случае, когда нужно добавить путь (например,
$HOME/bin
) к переменной среды PATH, следует использоватьдля добавления (вместо
PATH="$PATH:$HOME/bin"
), иза предлог (вместо
PATH="$HOME/bin:$PATH"
).Это позволяет избежать ложного
$PATH
начального / конечного двоеточия, когда оно изначально пустое, что может иметь нежелательные последствия.См. Например, https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
источник
Для Ubuntu отредактируйте
~/.bashrc
и добавьте следующую строку.. ~/.bash_profile
Затем отредактируйте ваш .bash_profile, как вам нужно .....
источник
.bash_profile
как вам нужно». Что именно мне нужно сделать с.bash_profile
?.profile
или.bash_profile
должен источник.bashrc
. А не наоборот.