Я пытаюсь добавить каталог в свой путь, чтобы он всегда был на моем пути к Linux. Я пробовал:
export PATH=$PATH:/path/to/dir
Это работает, однако каждый раз, когда я выхожу из терминала и запускаю новый экземпляр терминала, этот путь теряется, и мне нужно снова запустить команду экспорта.
Как я могу это сделать, чтобы это было установлено постоянно?
Вам нужно добавить его в файл ~/.profile
или ~/.bashrc
. & nbsp ;
export PATH="$PATH:/path/to/dir"
В зависимости от того, что вы делаете, вы также можете захотеть сделать символическую ссылку на двоичные файлы:
cd /usr/bin
sudo ln -s /path/to/binary binary-name
Обратите внимание, что это не будет автоматически обновлять ваш путь до конца сеанса. Для этого вам следует запустить:
source ~/.profile
or
source ~/.bashrc
В Ubuntu отредактируйте / etc / environment
. Его единственная цель - хранить переменные среды. Первоначально переменная $ PATH определяется здесь.
Это паста из моего файла / etc / environment
:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
Таким образом, вы можете просто открыть этот файл как root и добавить все, что вы хотите.
Для немедленных результатов Запустите (попробуйте как обычный пользователь и root):
source /etc/environment && export PATH
ОБНОВЛЕНИЕ:
Если вы используете zsh
(a.k.a Z Shell), добавьте эту строку сразу после комментариев в / etc / zsh / zshenv
:
source /etc/environment
Есть несколько способов сделать это. Фактическое решение зависит от цели.
Значения переменных обычно хранятся либо в списке заданий, либо в сценарии оболочки, который запускается в начале системного или пользовательского сеанса. В случае сценария оболочки вы должны использовать определенный синтаксис оболочки и команды export
или set
.
/ etc / environment
Список уникальных заданий, позволяет ссылки. Идеально подходит для добавления общесистемных каталогов, таких как / usr / local / something / bin
, к переменной PATH
или определения JAVA_HOME
. Используется PAM и SystemD ./etc/environment.d/*.conf
Список уникальных заданий, позволяет ссылки. Идеально подходит для добавления общесистемных каталогов, таких как / usr / local / something / bin
, к переменной PATH
или определения JAVA_HOME
. Конфигурацию можно разделить на несколько файлов, обычно по одному на каждый инструмент (Java, Go, NodeJS). Используется SystemD ./ etc / xprofile
Сценарий оболочки выполняется при запуске сеанса X Window System. Это выполняется для каждого пользователя, который входит в систему X Window. Это хороший выбор для записей PATH
, которые действительны для каждого пользователя, например / usr / local / something / bin
. Файл включен другим скриптом, поэтому используйте синтаксис оболочки POSIX, а не синтаксис оболочки пользователя./etc/profile
и /etc/profile.d/*
Сценарий оболочки. Это хороший выбор для систем только для оболочки. Эти файлы читаются только оболочками в режиме входа./ etc / < shell >.< shell > rc
. Сценарий оболочки. Это плохой выбор, потому что он специфичен для одной оболочки. Используется в режиме без входа.~/.pam_environment
. Список уникальных заданий, ссылки не допускаются. Загружается PAM в начале каждого пользовательского сеанса, не имеющего значения, если это сеанс X Window System или оболочка. Вы не можете ссылаться на другие переменные, включая HOME
или PATH
, поэтому он имеет ограниченное использование. Используется PAM .~/.xprofile
Сценарий оболочки. Это выполняется, когда пользователь входит в систему X Window System. Переменные, определенные здесь, видны каждому приложению X. Идеальный выбор для расширения PATH
с такими значениями, как ~ / bin
или ~ / go / bin
или определения специфичного для пользователя GOPATH
или NPM_HOME
. Файл включен другим скриптом, поэтому используйте синтаксис оболочки POSIX, а не синтаксис оболочки пользователя. Ваш графический текстовый редактор или IDE, запущенные с помощью ярлыка, увидят эти значения.~/.profile
, ~ /.< shell > _profile
, ~ /.< shell > _login
Сценарий оболочки. Он будет виден только для программ, запущенных с терминала или эмулятора терминала. Это хороший выбор для систем только для оболочки. Используется оболочками в режиме входа.~ /.< shell > rc
. Сценарий оболочки. Это плохой выбор, потому что он специфичен для одной оболочки. Используется оболочками в режиме без входа в систему.Gnome on Wayland запускает оболочку входа в систему, чтобы получить среду. Он эффективно использует конфигурации оболочки входа ~/.profile
, ~ /.< shell > _profile
, ~ /.< shell > _login
файлы.
Вы можете установить $ PATH
навсегда двумя способами.
.bash_profile
в домашнем каталоге пользователя.например, в моем случае я установлю путь Java в профиле пользователя tomcat *
[tomcat] $ echo "export PATH = $ PATH: / path / to / dir" > > / home / tomcat / .bash_profile
Чтобы установить общий путь для ВСЕХ пользователей системы, вам может потребоваться установить путь следующим образом:
[root ~] # echo "export PATH = $ PATH: / path / to / dir" > > / etc / profile
Вы можете использовать на Centos или RHEL для локального пользователя:
echo $"export PATH=\$PATH:$(pwd)" >> ~/.bash_profile
Это добавляет текущий каталог (или вы можете использовать другой каталог) в PATH, это делает его постоянным, но вступает в силу при следующем входе в систему пользователя.
Если вы не хотите делать повторный журнал, то можете использовать:
source ~/.bash_profile
Этот комментарий, который перезагружает # Пользовательскую среду и программы запуска
, присутствует в .bash_profile
Вы также можете установить навсегда, отредактировав один из этих файлов:
/ etc / profile
(для всех пользователей)
~/.bash_profile
(для текущего пользователя)
~/.bash_login
(для текущего пользователя)
~/.profile
(для текущего пользователя)
Вы также можете использовать / etc / environment
для установки постоянной переменной среды PATH, но она не поддерживает расширение переменной .
Извлечено из: http://www.sysadmit.com/2016/06/linux-anadir-ruta-al-path.html
Вчера я наткнулся на этот вопрос при поиске способа добавления папки, содержащей мои собственные сценарии, в PATH - и был удивлен, обнаружив, что мой собственный файл `~/.profile '(в Linux Mint 18.1) уже содержал это:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Таким образом, все, что мне нужно было сделать, это создать папку ~ / bin
и поместить туда свои сценарии.
Я думаю, что самый элегантный способ это:
1.Добавить это в файл ~/.bashrc Запустите эту команду
gedit ~/.bashrc
добавьте свой путь внутрь
экспортировать PATH = $ PATH: / opt / node / bin
2.source ~/.bashrc
(Ubuntu)
#vi /etc/profile
Нажмите клавишу «i», чтобы ввести статус редактирования, и переместите курсор в конец файла, Дополнительные записи:
export PATH=$PATH:/path/to/dir;
Нажмите клавишу «Esc», чтобы выйти из состояния редактирования, ': wq' сохранить файл.
source /etc/profile
Объясните: файл профиля работает для всех пользователей, если вы хотите быть действительным только для активного пользователя, установите файл «.bashrc»
Постоянно добавлять переменную PATH
Глобальный:
echo "export PATH=$PATH:/new/path/variable" >> /etc/profile
Локальный (только для пользователя):
echo "export PATH=$PATH:/new/path/variable" >> ~/.profile
Для глобального перезапуска. Для локального релогина.
Пример
До:
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin
После:
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable
В качестве альтернативы вы можете просто редактировать профиль:
$ cat /etc/profile
#!/bin/sh
export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/new/path/variable
Другой способ (спасибо gniourf_gniourf):
echo 'PATH=$PATH:/new/path/variable' >> /etc/profile
Вы не должны использовать двойные кавычки здесь! эхо-экспорт PATH = $ PATH: / new / path / variable '... И, кстати, ключевое слово экспорта очень вероятно бесполезно, так как переменная PATH уже очень вероятна помечены как экспортированные. - gniourf_gniourf
Zues77 имеет правильную идею. ОП не сказал «как я могу взломать свой путь через это». OP хотел знать, как постоянно добавлять в $ PATH:
sudo nano /etc/profile
Здесь он предназначен для всего и является лучшим местом для его изменения для всех вещей, нуждающихся в $ PATH
Мой ответ касается настройки go-lang
на Ubuntu linux / amd64
. Я столкнулся с той же проблемой при определении пути переменных среды (GOPATH
и GOBIN
) потерять его при выходе из терминала и восстановить его с помощью source <file_name >
каждый раз. Ошибка состояла в том, чтобы поставить путь (GOPATH
и GOBIN
) в папке ~/.bash_profile
. Проведя несколько хороших часов, я обнаружил, что решение состоит в том, чтобы поместить GOPATH
и GOBIN
в файл ~/.bash_rc
способом:
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOPATH:$GOBIN
и при этом установка go работала нормально, и не было потерь пути.
РЕДАКТИРОВАТЬ 1:
Причина, по которой эта проблема может быть связана, заключается в том, что настройки для оболочек без входа в систему, таких как ваш терминал ubuntu или терминал gnome, где мы запускаем код go, взяты из ~.Файл / bash_rc
и настройки для оболочек входа в систему взяты из файла ~/.bash_profile
и из файла ~/.profile
, если файл ~/.bash_profile
недоступен.
файлы, в которые вы добавляете команду экспорта, зависят от того, находитесь ли вы в режиме входа или в режиме не входа.
если вы находитесь в режиме входа в систему, файлы, которые вы ищете, это /etc/bash или /etc/bash.bashrc
если вы находитесь в не-логин-режиме, вы ищете файл / .profile или файлы в каталоге /.profiles.d
файлы, упомянутые выше, если где находятся системные переменные.
лучший простой способ - следующая строка:
PATH = "< каталог, который вы хотите включить >: $ PATH"
в вашем файле .bashrc в домашнем каталоге.
Он не будет сброшен, даже если вы закроете терминал или перезагрузите компьютер. Это постоянно
После стольких исследований я нашел простое решение для этого (я использую элементарную ОС), вдохновленное следующей ссылкой.
Выполните следующую команду, чтобы открыть файл .bashrc в режиме edit . [Вы может также использовать vi или любой другой редактор].
~ $ sudo nano ~/.bashrc
Добавьте следующую строку в конце файла и сохраните.
экспортировать PATH = "[FLUTTER_SDK_PATH] / flutter / bin: $ PATH"
Например:
экспортировать PATH = "/ home / rageshl / dev / flutter / bin: $ PATH"
Я считаю, что это постоянное решение для установки пути в трепете в дистрибутиве Ubuntu
Надеюсь, это поможет.
один из способов добавить постоянный путь, который работал для меня, это:
cd /etc/profile.d
коснитесь custom.sh
vi custom.sh
экспортировать PATH = $ PATH: / путь в соответствии с вашими настройками /
перезагрузите компьютер, и здесь мы пойдем по пути навсегда ура.
Его можно добавить напрямую с помощью следующей команды:
echo 'export PATH = $ PATH: / new / directory' > > ~/.zshrc
источник ~/.zshrc