Есть несколько способов сделать это. Фактическое решение зависит от цели.
Значения переменных обычно хранятся либо в списке назначений, либо в сценарии оболочки, который запускается в начале сеанса системы или пользователя. В случае сценария оболочки вы должны использовать определенный синтаксис оболочки и / 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 скрипт. Он будет виден только для программ, запущенных из терминала или эмулятора терминала. Это хороший выбор для систем только с оболочкой. Используется оболочками в режиме входа в систему.
~/.<shell>rc
, Сценарий оболочки. Это плохой выбор, потому что он специфичен для отдельной оболочки. Используется оболочками в режиме без входа в систему.
Ноты
Gnome на Wayland запускает оболочку входа пользователя, чтобы получить среду. Он эффективно использует регистрационные конфигурации оболочки ~/.profile
, ~/.<shell>_profile
, ~/.<shell>_login
файлы.
Руководства
- окружающая обстановка
- environment.d
- удар
- тире
Распространение специальной документации
связанные с
Разница между Оболочкой входа в систему и Оболочкой без регистрации?
.bash_profile
стоит добавить и в список?/etc/environment
. Но могу ли я обновить его без выхода и входа? Иногда я не использую bash или sh, поэтомуsource /etc/environment
не работает.Вам нужно добавить его в свой
~/.profile
или~/.bashrc
файл.В зависимости от того, что вы делаете, вы также можете использовать символическую ссылку на двоичные файлы:
Обратите внимание, что это не будет автоматически обновлять ваш путь до конца сеанса. Для этого вам нужно запустить:
источник
$PATH
и/usr/bin
. 2) Должен/usr/bin
даже быть там. 3) Не лучше ли использовать/usr/local/bin
?cd
в каталог, в который вы его распаковали, затем запускаетеls
- и затем понимаете, что в tar-архиве была названа вредоносная программаls
.В Ubuntu отредактируйте
/etc/environment
. Его единственная цель - хранить переменные среды. Первоначально переменная $ PATH определяется здесь. Это вставка из моего/etc/environment
файла:Таким образом, вы можете просто открыть этот файл как root и добавить все, что захотите.
Для немедленных результатов, запустите (попробуйте как обычный пользователь и root):
ОБНОВИТЬ:
Если вы используете
zsh
(он же Z Shell), добавьте эту строку сразу после комментариев в/etc/zsh/zshenv
:Я столкнулся с этой маленькой причудой на Ubuntu 15.10, но если ваш zsh не получает правильный PATH , возможно, поэтому
источник
$PATH
также определен/etc/profile
в Arch Linux.Поместите
export
декларацию в~/.bashrc
. Мой .bashrc содержит это:источник
.profile
', не нашел.bashrc
source ~/.bashrc
чтобы перезагрузить.bashrc
конфигурацию. Тогда это будет работатьexport
Ключевое слово необходимо , только еслиPATH
еще не помечен как переменное окружение - что она почти безоговорочно будет. ПростоPATH=/var/lib/gems/1.8/bin:/home/fraxtil/.bin:$PATH
будет иметь тот же эффект.Вы можете установить
$PATH
навсегда 2 способами.Чтобы установить путь для конкретного пользователя: Вам может потребоваться сделать запись
.bash_profile
в домашнем каталоге пользователя.например, в моем случае я буду устанавливать путь Java в профиле пользователя Tomcat
Чтобы установить общий путь для ВСЕХ пользователей системы, вам может потребоваться установить путь следующим образом:
источник
/etc/profiles
вs
вашем дистрибутиве? У меня нетs
. Я думаю, что у вас есть опечатка.Вы можете использовать на Centos или RHEL для локального пользователя:
Это добавляет текущий каталог (или вы можете использовать другой каталог) к PATH, это делает его постоянным, но вступает в силу при следующем входе пользователя.
Если вы не хотите делать повторный вход в систему, то можете использовать:
Это перезагрузить
# User specific environment and startup programs
этот комментарий присутствует в.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) уже содержал это:Таким образом, все, что мне нужно было сделать, это создать папку
~/bin
и поместить туда свои скрипты.источник
Я думаю, что самый элегантный способ это:
1.Добавьте это в файл ~ / .bashrc.
добавьте свой путь внутри него
2. источник ~ / .bashrc
(Ubuntu)
источник
Вы можете добавить эту строку в файл конфигурации консоли (например, .bashrc) или в .profile.
источник
/home/(username)
ls -a
чтобы их видеть.)Постоянно добавлять переменную PATH
Глобальный:
Локальный (только для пользователя):
Для глобального перезапуска. Для местного релогина.
пример
Перед:
После:
В качестве альтернативы вы можете просто отредактировать профиль:
Еще один способ (спасибо gniourf_gniourf):
источник
echo 'export PATH=$PATH:/new/path/variable'
... И, кстати,export
ключевое слово, скорее всего, бесполезно, посколькуPATH
переменная, скорее всего, уже помечена как экспортированная./usr/local
к нему, используя~/.bashrc
. теперь, если вы собираетесь добавить/opt/bin
к той же переменной, используя/etc/bash.bashrc
; $ PATH будет преобразован в ту же статическую строку, в результате $ PATH будет заменен вместо добавления к ... Это будет зависеть от предпочтения системы одному файлу по сравнению с другим1. измените файл "/ etc / profile".
Нажмите клавишу «i», чтобы войти в статус редактирования и переместить курсор в конец файла, Дополнительные записи:
Нажмите клавишу «Esc», чтобы выйти из режима редактирования, «: wq» сохранить файл.
2. сделать конфигурацию эффективной
Объясните: файл профиля работает для всех пользователей, если вы хотите быть действительным только для активного пользователя, установите файл ".bashrc"
источник
После стольких исследований я нашел для этого простое решение (я использую элементарную ОС ), вдохновленное следующей ссылкой .
Я считаю, что это постоянное решение для установки пути в флаттере в дистрибутиве Ubuntu
Надеюсь, это будет полезно.
источник
Файлы, в которые вы добавляете команду экспорта, зависят от того, находитесь ли вы в режиме входа в систему или не в режиме входа в систему.
если вы находитесь в режиме входа в систему, то файлы, которые вы ищете, это / etc / bash или /etc/bash.bashrc
если вы не в режиме входа в систему, вы ищете файл /.profile или файлы в каталоге /.profiles.d
упомянутые выше файлы, если где системные переменные.
источник
Добавить в
/etc/profile.d
папку скрипта[name_of_script].sh
с линией:export PATH=$PATH:/dir
. Каждый скрипт в/etc/profile.d
папке автоматически выполняется при/etc/profile
входе в систему.источник
Zues77 имеет правильную идею. ОП не сказал «как я могу взломать мой путь через это». ОП хотел знать, как постоянно добавлять $ PATH:
Здесь он установлен для всего и является лучшим местом для изменения всего, что требует $ PATH
источник
Мой ответ связан с настройкой
go-lang
on.Ubuntu linux/amd64
Я столкнулся с той же проблемой установки пути переменных среды (GOPATH
иGOBIN
), потери его при выходе из терминала и повторной сборки с использованиемsource <file_name>
каждый раз. Ошибка состояла в том, чтобы указать путь (GOPATH
иGOBIN
) в~/.bash_profile
папке. Потратив несколько хороших часов, я обнаружил , что решение было поместитьGOPATH
иGOBIN
в~/.bash_rc
файл в порядке:и при этом установка go работала нормально, и потерь на пути не было.
РЕДАКТИРОВАТЬ 1: Причина, по которой может быть связана эта проблема, заключается в том, что настройки для не входящих в систему оболочек, таких как ваш терминал ubuntu или gnome-терминал, где мы запускаем код go, берутся из
~./bash_rc
файла, а настройки для оболочек входа берутся из~/.bash_profile
файла, и из~/.profile
файла, если~/.bash_profile
файл недоступен.источник
Допустим, у вас установлена MacOS, и у вас есть бинарный файл, которому вы доверяете и который хотите сделать доступным в вашей системе, но не обязательно хотите, чтобы каталог, в котором бинарный файл был добавлен в вашу PATH, вы можете выбрать для копирования / перемещения двоичный файл
/usr/local/bin
, который уже должен быть в вашей переменной PATH. Это сделает двоичный файл исполняемым, как и любой другой двоичный файл, к которому у вас уже есть доступ в вашем терминале.источник
Его можно напрямую добавить с помощью следующей команды:
источник
bash
, так что это не очень полезно.лучший простой способ - следующая строка:
PATH="<directory you want to include>:$PATH"
в вашем файле .bashrc в домашнем каталоге.
Сброс не произойдет, даже если вы закроете терминал или перезагрузите компьютер. Его постоянный
источник
Я думаю, что самый элегантный способ это:
1. добавить это в файл ~. / Bashrc
2. источник ~ / .bashrc
(Ubuntu)
источник
Один способ добавить постоянный путь, который работал для меня, это:
перезагрузите компьютер, и здесь мы идем путь будет там постоянно ура.
источник
Для распространения Debian вы должны:
источник
Это однострочник . Это добавляет строку к
.bashrc
. Строка будет проверять, был ли каталог уже добавлен в путь, и добавляться, если нет. Это предотвратит дублирование вашего каталога в пути каждый раз, когда вы создаете исходный код.bashrc
.источник