Linux path как правильно дописать путь: переменные — Как добавить путь в переменную $PATH?

latex — Как прописать PATH в Ubuntu?


Вопрос задан


Изменён
7 лет 7 месяцев назад


Просмотрен
22k раза

Скачал texlive 15, в конце установщик попросил сделать это:

  1. Добавьте /usr/local/texlive/2015/texmf-dist/doc/man в MANPATH.
  2. Добавьте /usr/local/texlive/2015/texmf-dist/doc/info в INFOPATH.
  3. И самое главное, добавьте /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-а, который называется ~/. имяrc. узнать имя shell-а можно так:

$ 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 является двоеточиями список каталогов, сообщает оболочке, какие каталоги для поиска исполняемых файлов.

Чтобы проверить, какие каталоги у вас есть в переменной $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.

Допустим, у вас есть каталог с именем 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 и ~/. local/bin . В соответствии с этими - 1 2 ответами я поместил следующие строки в свой файл ~/.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

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Обязательно, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.