ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

Как добавить каталог в 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 при запуске нового сеанса переменные среды считываются из следующих файлов:

В этом примере мы установим переменную в файле ~/.bashrc. Откройте файл в текстовом редакторе и добавьте в конце следующую строку:

nano ~/.bashrc

 

~ / .Bashrc
export PATH="$HOME/bin:$PATH"

 

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

source ~/.bashrc

 

Чтобы подтвердить, что каталог был успешно добавлен, напечатайте его значение $PATH, набрав:

echo $PATH

 

Добавить новые каталоги в вашу пользовательскую или глобальную переменную $PATH довольно просто. Это позволяет выполнять команды и сценарии, хранящиеся в нестандартных местах, без необходимости вводить полный путь к исполняемому файлу.

Те же инструкции применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.

Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.

Exit mobile version