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

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

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

На днях я тестировал одну программу, написанную на языке программирования Rust. Поэтому я установил Rust с помощью диспетчера пакетов conda в своей системе Ubuntu, а затем установил эту программу с помощью диспетчера Rust’s cargo пакетов. Когда я попытался запустить программу, то получил сообщение, что программа не установлена. Я снова попытался установить ее и получил сообщение о том, что программа уже установлена.

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

ls ~/.cargo/bin/
macchina

Как видите, бинарный файл моей установленной программы macchina хранится в каталоге cargo/bin. После установки Rust я должен был добавить этот каталог в свой $PATH, но я забыл. Отсюда и проблема с запуском.

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

Список значений переменной $PATH.

Давайте посмотрим значение нашей переменной $ PATH с помощью команды echo.

$ echo $PATH
/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

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

$ ~/.cargo/bin/macchina

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

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

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

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

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

Теперь снова заглянем в переменную $PATH, используя команду echo:

$ echo $PATH
/home/user/.cargo/bin/:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/puppetlabs/bin

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

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

Чтобы сделать изменения постоянными, отредактируйте файл /.bashrc:

$ vi ~/.bashrc

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

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

Сохраняем файл и закрываем редактор.

Для применения настроек в текущей сессии, выполните следующую команду:

$ source ~/.bashrc

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

Резюме.

Надеюсь знание того, как добавить в переменную $PATH путь к исполняемым файлам, Вам пригодится в работе.

А если Вам  понравилась статья, сайт, и то что я делаю, то можете поддержать этот проект, собирающий в себя статьи и руководства по IT технологиям. Это можно сделать нажав, кнопочку ниже и закинув полтишок в копилку на развитие.

Was this helpful?

0 / 0

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