Как добавить каталог в $PATH
в Ubuntu и сделать изменения постоянными? Р>
Как добавить каталог в $PATH
в Ubuntu и сделать изменения постоянными? Р>
Путь, установленный в .bash_profile
, будет установлен только в командной строке bash ( bash -l
).
Если вы поместите свой путь в .profile
, он будет доступен для вашего полного сеанса рабочего стола. Это означает, что даже metacity будет использовать его.
Например, ~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Btw, вы можете проверить переменную PATH процесса, посмотрев ее среду в /proc/[pid]/environ
. (замените [pid] на число из ps axf
)
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
или logout / login (или перезапустить терминал). Чтобы указать .bashrc
, просто введите
$ source ~/.bashrc
Рекомендуемое место для определения постоянных, общесистемных переменных среды, применяемых ко всем пользователям, находится в:
/etc/environment
(где определяется значение по умолчанию PATH
)
Это будет работать на рабочем столе или консоли, gnome-terminal или TTY, дождь или блеск;)
Чтобы изменить, нажмите Alt + F2 и введите:
gksudo gedit /etc/environment
(или откройте файл, используя sudo
в вашем любимом текстовом редакторе)
Чтобы произвести изменения, запустите . /etc/environment
. Поскольку этот файл является простым сценарием, он будет запускаться и назначать новый путь переменной среды PATH
. Чтобы проверить run 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
Для полных новичков (например, я), которые более удобны с графическим интерфейсом:
$HOME
. .profile
и выберите Открыть с помощью текстового редактора . PATH="$PATH:/my/path/foo"
. .profile
). Для постоянных переменных среды, доступных только для определенных пользователей. Я настоятельно рекомендую официальную документацию Ubuntu.
Ссылаясь на приведенную выше документацию, я установил мои инструменты для поиска SDK для Android :
~/.pam_environment
файла в домашнем каталоге. PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
. Поместите эту строку в файл ~/.bashrc
.
Он получает источник, когда вы открываете терминал
EDIT . На основе приведенных ниже комментариев для более общей настройки, которая будет применяться ко всем оболочкам (в том числе при нажатии Alt - F2 в Unity), добавьте строку в ваш файл ~/.profile
. Вероятно, не следует делать и то и другое, так как путь будет добавлен дважды в вашу среду PATH
, если вы откроете терминал.
Чтобы установить его по всей системе, добавьте строку export PATH=/path/you're/adding:$PATH
в конец /etc/profile
.
Чтобы добавить каталог только для входа в систему, добавьте одну и ту же строку в ~/.bash_profile
.
Добавление его в .bashrc будет работать, но я думаю, что более традиционный способ настройки ваших переменных пути находится в .bash_profile, добавив следующие строки.
PATH=$PATH:/my/path/foo
export PATH
Согласно этот поток кажется, что поведение Ubuntu немного отличается от RedHat и клонов.
sudo vi /etc/profile.d/SCRIPT_NAME.sh
добавить туда
export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH
В терминале cd
to the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):${PATH}" >> ~/.bashrc
Это была не моя идея. Я нашел способ экспортировать путь в блог здесь .
Всякий раз, когда я «устанавливаю» свою папку BASH-скриптов, я следую шаблону теста для папки $HOME/bin
, которая находится в большинстве файлов .profile в последних версиях Ubuntu. Я установил тест, который выглядит как
if [ -d "/usr/scripts" ]; then
PATH="/usr/scripts:$PATH"
fi
Он работает примерно в 100% случаев и оставляет меня вправе изменить его в текстовом редакторе графического интерфейса с помощью быстрого «Заменить все», если я когда-нибудь захочу переместить /scripts
где-то ближе к моей папке $HOME
. Я не сделал этого в 6 установках Ubuntu, но есть «всегда завтра». S
<б> БЗТ
Откройте терминал, введите 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"
Закройте и откройте терминал, он должен работать.
Рекомендуемый способ редактирования 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 / environment. Альтернативой является создание файла для этой цели в каталоге /etc/profile.d. Р>
/ и т.д. / окружение р>
Этот файл специально предназначен для общесистемных параметров среды. Это не файл сценария, а скорее состоит из выражений присваивания, по одному на строку. Р>
Примечание. Расширение переменной не работает в / etc / environment. Р>
Дополнительную информацию можно найти здесь: EnvironmentVariables
Поместите его в ваш ~/.bashrc
или whatevershell, который вы используете rc (или до предполагаемого ~/.profile
) и ~/.xsessionrc
, поэтому он также будет работать в X (внешняя оболочка).
Есть все, что вам нужно знать. Я узнал, что много ввода здесь было неправильным или, по крайней мере, метод не предлагался. Это отличная информация, которая позволит вам выяснить, где изменить переменную среды, исходя из причины, по которой вы это делаете, и как это сделать, не забивая все (как, например, я сделал некоторые из вышеупомянутых плохих советов). р>
Так долго, и спасибо за всю рыбу!
Для Ubuntu отредактируйте ~/.bashrc
и добавьте следующую строку.
. ~/.bash_profile
р>
Затем отредактируйте свой .bash_profile по мере необходимости.
Даже если системный скрипт не использует это,
в любом из случаев, когда нужно добавить путь (например, $HOME/bin
) к переменной среды PATH, следует использовать
PATH="${PATH:+${PATH}:}$HOME/bin"
для добавления (вместо PATH="$PATH:$HOME/bin"
)
и р>
PATH="$HOME/bin${PATH:+:${PATH}}"
для добавления (вместо PATH="$HOME/bin:$PATH"
)
Это позволяет избежать ложного начального / конечного двоеточия, когда $PATH
изначально пуст, что может иметь нежелательные эффекты.
См. Ссылка