Перейти к содержимому

Как изменить переменную path в linux

  • автор:

Как добавить путь в переменную $PATH?

А точно нужно добавлять? Если все установили правильно, то должно работать. Но если хочется, то кто мешает открыть файл ~/.bashrc и добавить где то в конец пару строк:

PATH=$PATH:/usr/gcc/4.4/bin export PATH 

Отслеживать
371 1 1 золотой знак 5 5 серебряных знаков 13 13 бронзовых знаков
ответ дан 27 авг 2012 в 9:12
112k 6 6 золотых знаков 93 93 серебряных знака 159 159 бронзовых знаков
@KoVadim, а где находится файл bashrc?
27 авг 2012 в 9:15

я же написал — ~/.bashrc . Если в таком формате не понятно, то говорю по простому — это в домашнем каталоге. У Вас это наверно /home/ivan31 . Обратите внимание на точку в начале файла!

27 авг 2012 в 9:17
@KoVadim, в каталоге home пусто.
27 авг 2012 в 10:14

может быть Вы под рутом работаете? тогда пробуйте /root/.bashrc А лучше, скажите, какая именно версия какого именно линукса у Вас.

27 авг 2012 в 10:17
@KoVadim, Nexenta illumos.
27 авг 2012 в 10:21

  • переменные
  • linux
    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как добавить каталог в PATH в Linux

Обычно расположение исполняемого файла для запуска установленной программы добавляется в $PATH в Linux. Следовательно, вы можете запускать программу из любого места в оболочке, не вводя полный путь к исполняемому файлу. Однако в некоторых случаях вам необходимо вручную добавить место установки программы в файл $PATH. В этом кратком руководстве мы увидим, как добавить каталог в PATH в операционных системах Linux.

Зачем нам добавлять каталог в $PATH?

На днях я тестировал программу Macchina , написанную на языке программирования Rust . Итак, я установил Rust с помощью диспетчера пакетов conda в своей системе Ubuntu, а затем установил Macchina с помощью диспетчера пакетов cargo Rust.

Когда я попытался запустить программу Macchina, на выходе было сказано, что программа не установлена. Я снова попытался установить его и получил следующее сообщение об ошибке:

Updating crates.io index Ignored package `macchina v0.5.9` is already installed, use --force to override warning: be sure to add `/home/sk/.cargo/bin` to your PATH to be able to run the installed binaries

Как вы, возможно, уже знаете, когда мы устанавливаем программу, написанную на Rust, исполняемые двоичные файлы будут сохранены в каталоге ~/.cargo/bin .

$ ls ~/.cargo/bin/ macchina

Как видите, двоичный файл Macchina хранится в каталоге грузового отсека. После установки Rust мне следовало добавить этот каталог в свой $PATH, но я забыл. Отсюда и вышеупомянутая проблема!

Если бы я установил Rust с помощью скрипта установщика rustup, я бы не столкнулся с этой проблемой. Поскольку сценарий rustup автоматически добавит каталог bin Cargo в переменную среды $PATH, изменив файл профиля, расположенный в ~/.profile . Но в этом случае я установил Rust внутри среды conda, и каталог bin не добавлен в PATH.

Список переменных среды в $PATH

Давайте перечислим все переменные среды $PATH, которые мы выведем командой echo .

$ echo $PATH
/home/sk/anaconda3/envs/rustenv/bin:/home/sk/anaconda3/condabin:/home/sk/.nvm/versions/node/v15.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Как видно из вышеприведенного вывода, каталог ~/.cargo/bin/ недоступен в $PATH, поэтому программа Macchina не может быть запущена с использованием ее имени. Однако я могу запустить программу, введя полный путь, как показано ниже:

$ ~/.cargo/bin/macchina

Чтобы запустить программу, используя ее имя из любого места, нам нужно добавить ее в PATH, как показано в следующем разделе.

Добавить каталог в PATH в Linux

Чтобы добавить каталог, например /home/sk/.cargo/bin/, в $ PATH, запустите:

$ export PATH=/home/sk/.cargo/bin:$PATH

Обратите внимание на двоеточие (:) в конце пути к каталогу.

Теперь снова перечислите переменные среды, используя echoкоманду:

$ echo $PATH
/home/sk/.cargo/bin:/home/sk/anaconda3/envs/rustenv/bin:/home/sk/anaconda3/condabin:/home/sk/.nvm/versions/node/v15.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Видите? Каталог ~/.cargo/bin был добавлен в $PATH. С этого момента я могу запускать любую программу, установленную в этом каталоге, просто вызывая имя программы. Не нужно указывать полный путь!

Учтите, что это временно. После выхода из текущего сеанса переменная среды исчезнет. Чтобы сделать изменения постоянными, отредактируйте файл ~/.bashrc :

$ nano ~/.bashrc

Добавьте в конец следующую строку:

export PATH=/home/sk/.cargo/bin:$PATH

Нажмите, CTRL+O, а затем, CTRL+X, чтобы сохранить файл и выйти.

Выполните следующую команду, чтобы изменения вступили в силу немедленно:

$ source ~/.bashrc

Если вы хотите сделать это общесистемным, добавьте ту же строку в /etc/profile.

Надеюсь это поможет.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Как просматривать и обновлять переменную PATH

После установки программы запустить ее можно только в том же каталоге, в котором хранится программа. Запустить программу из любого каталога вы можете с помощью переменной среды PATH.

Переменная PATH содержит список каталогов, которые система проверяет перед запуском команды. Обновив переменную PATH, вы сможете запускать любые исполняемые файлы, которые находятся в перечисленных в PATH каталогах, из любого каталога, не вводя абсолютный путь к файлу.

Например, для запуска Python вместо следующего:

Можно ввести следующую команду, поскольку каталог /usr/bin включен в переменную PATH:

Каталоги перечислены в порядке приоритета, поэтому первыми упоминаются те, которые нужно проверять первыми.

В этом руководстве вы научитесь проверять переменную PATH и обновлять ее значение.

1: Просмотр переменной PATH

Вы можете просмотреть переменную PATH с помощью следующей команды:

По умолчанию переменная PATH может выглядеть примерно так (пути к файлам могут немного отличаться в зависимости от вашей системы):

Некоторые каталоги упоминаются по умолчанию, а каждый каталог в PATH отделяется двоеточием (:). Система проверяет эти каталоги слева направо.

Если каталог, в котором установлена необходимая программа, не перечислен в переменной PATH, вы можете добавить его самостоятельно.

2: Добавление каталога в переменную среды PATH

Добавить каталог в PATH можно двумя способами – поместив его в начале или в конце пути.

Помещая каталог (например, /the/file/path) в начало PATH, вы говорите системе, что его нужно проверять первым:

Каталог, добавленный в конец PATH, будет проверен после всех остальных каталогов:

Чтобы поместить в PATH несколько каталогов одновременно, добавьте двоеточие между ними:

После выполнения команды export можно просмотреть переменную PATH, чтобы отследить изменения:

export PATH=$PATH:/the/file/path
echo $PATH

Вы получите такой вывод:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/the/file/path

Этот метод будет работать только для текущего сеанса оболочки. Как только вы выйдете из текущего сеанса и запустите новый, переменная PATH будет сброшена до стандартного значения, а добавленный в нее каталог будет удален. Чтобы значение PATH сохранялось независимо от сеанса оболочки, оно должно храниться в файле.

3: Как навсегда добавить каталог в переменную PATH

На этом этапе мы покажем, как навсегда добавить каталог в конфигурационный файл оболочки (~/.bashrc, если вы используете оболочку bash, или ~/.zshrc, если вы используете zsh). В этом руководстве мы работаем с файлом ~/.bashrc.

Сначала откройте файл:

В файле ~/.bashrc хранятся данные, которые не нужно изменять. В конец файла добавьте команду export с новым каталогом:

. Adding paths to your PATH export PATH=$PATH:the/file/path

Напоминаем, что каталоги перечисляются в PATH по приоритетности.

Сохраните и закройте файл. Изменения в переменную PATH будут внесены после запуска нового сеанса оболочки. Чтобы применить изменения к текущему сеансу, используйте команду source:

Позже вы можете добавить новые каталоги. Для этого снова откройте этот файл и добавьте каталоги в существующую команду export.

Заключение

Переменная среды PATH является важным аспектом работы командной строки. Она позволяет запускать программы, такие как echo и python3, из любого каталога, не вводя полный путь к программе. Здесь вы узнали, как редактировать ее значение и сохранять его на постоянной основе.

�� Работа с переменной PATH на Linux. Это совсем не сложно.

Работа с переменной PATH в Linux очень проста, она определяет, где исполняемые программы могут быть доступны через ввод имени программы, и вам не нужен полный путь, такой как /usr/local/bin/myprog.

Linux будет проверять наличие исполняемых программ в окружении PATH только в том случае, если указан полный или относительный путь к программе.

В целом, поиск в текущем каталоге не производится, если он не включен в PATH.

Можно включить наш текущий каталог в PATH, добавив каталог в переменную PATH.

Это показано в следующем примере:

$ export PATH=$PATH:.

Это полезно для временной проверки, когда вы хотите запустить программу из текущего каталога.

Эта команда создаст папку $HOME/bin только в том случае, если она еще не существует.

test -d $HOME/bin || mkdir $HOME/bin

Очень полезна при тестировании исполняемых файлов.

Ниже приведен пример полной переменной PATH на сервере Linux.

~$ echo $PATH
/home/jason/anaconda3/bin:/home/jason/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Это довольно сложно, но все же имеет смысл.

Каждый каталог отделяется символом двоеточия, и это облегчает редактирование.

Ниже приведено утверждение, которое можно использовать в вашем файле ~/.bashrc.

export PATH="/home/jason/anaconda3/bin:$PATH"

Это добавит папку /home/jason/anaconda3/bin в текущий PATH.

Это очень простое в использовании и быстрое решение.

  • Как добавить путь к каталогу в переменную $PATH
  • ��️ Как создать логические тома LVM на Linux
  • ⚙️ Как выполнить grep для поиска текста в PowerShell
  • �� Как установить порядок монтирования файловых систем в современных дистрибутивах Linux
  • ��️ Как смонтировать каталог хоста внутри контейнера LXD

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *