Linux path как правильно дописать путь: переменные — Как добавить путь в переменную $PATH?
Содержание
latex — Как прописать PATH в Ubuntu?
Вопрос задан
Изменён
7 лет 7 месяцев назад
Просмотрен
22k раза
Скачал texlive 15, в конце установщик попросил сделать это:
- Добавьте
/usr/local/texlive/2015/texmf-dist/doc/man
вMANPATH
. - Добавьте
/usr/local/texlive/2015/texmf-dist/doc/info
вINFOPATH
. - И самое главное, добавьте
/usr/local/texlive/2015/bin/i386-linux
в вашPATH
для текущей и будущих сессий.
Как это сделать?
- ubuntu
- latex
1
Довольно простой способ прописать что-то в PATH
— это открыть файл .
(или bashrc
.zshrc
, или файл для другой используемой оболочки), лежащий в домашнем каталоге (~/.bashrc
), и дописать в конце:
# add texlive to PATH export PATH=$PATH:/usr/local/texlive/2015/bin/i386-linux export INFOPATH=$INFOPATH:/usr/local/texlive/2015/texmf-dist/doc/info export MANPATH=$MANPATH:/usr/local/texlive/2015/texmf-dist/doc/man
Для того, чтобы действия вступили в силу, можно либо перезапустить терминал, либо ввести
source ~/.bashrc
Пояснение:
Синтаксис
export VAR=$VAR:path
используется для добавления нового пути в переменную. Символ :
является символом разделения путей в linux. Если бы требовалось только создать новую переменную, а не добавлять значение к возможно имеющейся, синтаксис был бы проще:
export VAR=value
как это сделать?
через двоеточие:
export MANPATH=/usr/local/texlive/2015/texmf-dist/doc/man:$MANPATH export INFOPATH=/usr/local/texlive/2015/texmf-dist/doc/info:$INFOPATH export PATH=/usr/local/texlive/2015/bin/i386-linux:$PATH
чтобы не выполнять эти команды вручную в каждом экземпляре shell-а, можно добавить их в конец конфигурационного файла вашего shell-а, который называется ~/.
. узнать имя shell-а можно так: имяrc
$ echo $SHELL /bin/bash
значит, файл, в который можно добавить команды: ~/.bashrc
.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
Как добавить каталог в PATH в Linux
Когда вы вводите команду в командной строке, вы в основном говорите оболочке запустить исполняемый файл с заданным именем. В Linux эти исполняемые программы, такие команды как ls, find, file и другие, как правило, живут в нескольких разных каталогов в вашей системе. Любой файл с исполняемыми разрешениями, хранящимися в этих каталогах, может быть запущен из любого места. Наиболее распространенные каталоги, которые содержат исполняемые программы /bin, /sbin, /usr/sbin, /usr/local/bin и /usr/local/sbin.
Но как оболочка узнает, в каких каталогах искать исполняемые программы или оболочка выполняет поиск по всей файловой системе?
Ответ прост. Когда вы вводите команду, оболочка ищет во всех каталогах, указанных в пользовательской переменной $PATH, исполняемый файл с таким именем.
В этой статье показано, как добавить каталоги в вашей переменной $PATH системы Linux.
Что есть $PATH в Linux
Переменная окружающей среды $PATH является двоеточиями список каталогов, сообщает оболочке, какие каталоги для поиска исполняемых файлов.
Чтобы проверить, какие каталоги у вас есть в переменной $PATH, вы можете использовать команду printenv или echo:
echo $PATH
Вывод будет выглядеть примерно так:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Если у вас есть два исполняемых файла с одинаковым именем, расположенные в двух разных каталогах, оболочка запустит файл, который находится в каталоге, который стоит первым в $PATH.
Добавление каталога в ваш $PATH
Есть ситуации, когда вы можете захотеть добавить другие каталоги в переменную $PATH. Например, некоторые программы могут быть установлены в разных местах, или вы можете захотеть иметь выделенный каталог для ваших личных записей, но сможете запускать их без указания абсолютного пути к исполняемым файлам. Для этого вам просто нужно добавить каталог в свой $PATH.
Допустим, у вас есть каталог с именем bin, расположенный в вашем домашнем каталоге, в котором вы храните свои сценарии оболочки. Чтобы добавить каталог к вашей переменной $PATH:
export PATH="$HOME/bin:$PATH"
Команда export экспортирует измененную переменную в дочерние среды процессов оболочки.
Теперь вы можете запускать ваши скрипты, просто набрав имя исполняемого скрипта без указания полного пути к исполняемому файлу.
Однако это изменение носит временный характер и действует только в текущем сеансе оболочки.
Чтобы сделать изменение постоянным, вам нужно определить переменную $PATH в файлах конфигурации оболочки. В большинстве дистрибутивов Linux при запуске нового сеанса переменные среды считываются из следующих файлов:
- Конфигурационные файлы глобальной оболочки, такие как /etc/environment и /etc/profile. Используйте этот файл, если вы хотите, чтобы новый каталог был добавлен всем системным пользователям $PATH.
- Конфигурационные файлы для отдельных пользовательских оболочек. Например, если вы используете Bash, вы можете установить переменную $PATH в файле ~/.bashrc, а если вы используете Zsh — имя файла ~/.zshrc.
В этом примере мы установим переменную в файле ~/.bashrc. Откройте файл в текстовом редакторе и добавьте в конце следующую строку:
nano ~/.bashrc
~ / .Bashrc
export PATH="$HOME/bin:$PATH"
Сохраните файл и загрузите новое значение $PATH в текущий сеанс оболочки, используя команду source:
source ~/.bashrc
Чтобы подтвердить, что каталог был успешно добавлен, напечатайте его значение $PATH, набрав:
echo $PATH
Заключение
Добавить новые каталоги в вашу пользовательскую или глобальную переменную $PATH довольно просто. Это позволяет выполнять команды и сценарии, хранящиеся в нестандартных местах, без необходимости вводить полный путь к исполняемому файлу.
Те же инструкции применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Добавить каталог в PATH {временно или постоянно}
Введение
PATH
— это переменная среды, которая указывает системе Linux, в каких каталогах искать исполняемые файлы. Переменная PATH
позволяет пользователю запускать команду без указания пути.
В этой статье объясняется, как временно или постоянно добавить каталог в PATH
, а также как удалить его в Linux.
Предпосылки
- Доступ к терминалу.
- Текстовый редактор.
Что такое Linux PATH?
Когда пользователь вызывает команду в терминале, система выполняет программу. Следовательно, Linux должен иметь возможность найти правильный исполняемый файл.
PATH
указывает каталоги программ и указывает системе, где искать программу для запуска.
Как просмотреть каталоги в PATH
Для печати всех настроенных каталогов в системе PATH
переменная, запустите команду echo:
echo $PATH
Вывод показывает каталоги, настроенные в PATH
по умолчанию. Команда printenv
выдает тот же результат:
printenv PATH
Кроме того, запуск which для определенной команды показывает, где находится ее исполняемый файл. Например, выполните which
with whoami
:
which whoami
Вывод показывает, что исполняемый файл whoami находится в каталоге /usr/bin/ .
Как добавить каталог в PATH в Linux?
Определенные каталоги добавляются в PATH
по умолчанию. Пользователи могут добавлять другие каталоги в
PATH
временно или постоянно.
Linux: временное добавление в PATH
Временное добавление каталога в PATH
влияет только на текущий сеанс терминала. Как только пользователи закрывают терминал, каталог удаляется.
Чтобы временно добавить каталог в PATH
, используйте команду export PATH
:
export PATH="/Directory1:$PATH" 9004 5Команда добавила Directory1 из Домашний каталог в
ПУТЬ
. Проверьте результат с помощью:echo $PATHВывод показывает, что каталог был добавлен в переменную. Эта конфигурация действует только в течение текущего сеанса.
Linux: постоянное добавление в PATH
Добавление каталога в
PATH
на постоянной основе путем редактирования файла .bashrc, расположенного в каталоге Home . Выполните следующие действия:
1. Откройте файл .bashrc с помощью текстового редактора. В приведенном ниже примере используется Vim.
2. Перейти в конец файла.
3. Вставьте синтаксис экспорта в конец файла.
экспорт PATH="/Directory1:$PATH"4. Сохраните и выйдите.
5. Выполните сценарий или перезагрузите систему, чтобы изменения вступили в силу.
6. Чтобы проверить изменения, запустите
echo
:Редактирование файла .bashrc добавляет каталог только для текущего пользователя. Чтобы добавить каталог в
PATH
для всех пользователей, отредактируйте файл .profile :Удалить каталог из PATH в Linux
Нет единой команды для удаления каталога из0005
ПУТЬ
.Тем не менее, несколько вариантов позволяют этот процесс.
Способ 1: выход из терминала
Удалить каталог из
PATH
просто, если он добавлен временно. Добавление каталога в терминал работает только для текущего сеанса. После завершения текущего сеанса каталог автоматически удаляется изPATH
.Чтобы удалить временный каталог из
PATH
, выйдите из терминала или перезагрузите систему.Способ 2: редактирование файлов конфигурации
Если строка экспорта каталога была добавлена в файл .bashrc или .profile , удалите ее тем же способом. Откройте файл в текстовом редакторе, перейдите в конец файла и удалите каталог.
Метод 3: применение концепции замены строки
Чтобы удалить каталог из
PATH
, используйте замену строки:export PATH=${PATH/'/Directory1'/}Команда удаляет строку только из текущего сеанса.
Способ 4: использование однострочного
Другой вариант — использовать комбинацию tr, grep и
paste
для удаления каталога изPATH
. Например:export PATH="$( echo $PATH| tr : '\n' |grep -v Directory1 | paste -s -d: )"Заключение
После прочтения этого руководства вы теперь знаете, как добавить каталог в
PATH
переменная. Затем узнайте, как экспортировать переменные Bash в Linux.bash — Debian 10: установка переменной PATH внутри .profile не работает
Задавать вопрос
спросил
Изменено
9 месяцев назадПросмотрено
997 разВ настоящее время я использую Debian 10 Xfce и хочу обновить переменную PATH, включив в нее
/opt/bin
и~/.
. В соответствии с этими - 1 2 ответами я поместил следующие строки в свой файлlocal/bin
~/.profile
:if [ -d "$HOME/.local/bin" ] ; затем PATH="$HOME/.local/bin:$PATH" фи если [ -d "/opt/bin" ] ; затем ПУТЬ="/opt/bin:$ПУТЬ" фиТеперь, когда я получаю
.profile
с терминала, все работает хорошо, иПУТЬ
обновлен. Согласно этому ответу,.profile
является источником при входе в систему, даже при входе в систему с графическим интерфейсом. Итак, я ожидаю, что переменнаяPATH
будет содержать мои измененные местоположения при входе в систему. К сожалению, это не так.
Почему профиль не загружается при входе в систему?
Как мне правильно обновить мойPATH
, включив в него нужные расположения, если размещение их внутри.profile
не сработает?
- bash
- debian
- путь
- профиль
2
Цитата из официальной документации Debian:
Графические входы в систему не читают файлы запуска оболочки (/etc/profile и
~/.profile и т. д.) по умолчанию, но вы, как пользователь, можете
создайте файл ~/.xsessionrc, который делает это.
https://wiki.debian.org/EnvironmentVariables
16
В терминале GNOME есть возможность запустить команду в качестве оболочки входа в систему.
Другие графические консоли, по крайней мере, позволят вам явно настроить команду для выполнения – это может быть bash --login
. Я нашел это наименее болезненным способом получить поведение, которое я (возможно, наивно?) ожидал.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.