Постоянно добавить каталог в оболочку PATH
Когда вы вводите команду в терминал Linux, на самом деле происходит выполнение программы. Обычно для выполнения пользовательской программы или сценария нам необходимо использовать полный путь к ней, например /path/to/script.sh
или просто ./script.sh
, если мы уже находимся в его постоянном каталоге. В качестве альтернативы мы можем выполнять множество команд без указания путей, например uptime
или date
и т. д.
Причина, по которой нам не нужно указывать пути для некоторых команд, заключается в переменной ` PATH
. Это переменная, которую можно настроить, чтобы сообщить нашей системе Linux, где искать определенные программы. Таким образом, при вводе date
в терминал Linux проверяет переменную ` PATH, чтобы увидеть список каталогов для поиска программы.
В этом руководстве мы увидим, как добавить каталог в переменную ` PATH в Linux. Это позволит вам вызывать вашу программу или скрипт из любого места системы без необходимости указывать путь к тому месту, где вы его сохранили. Следуйте вместе с нами, пока мы покажем, как просматривать каталоги в ` PATH и добавлять каталог в переменную временно или постоянно.
В этом уроке вы узнаете:
Как просмотреть текущие настроенные каталоги в переменной оболочки ` PATH
-
Как временно добавить каталог в ` PATH
Как навсегда добавить каталог в ` PATH
Добавление каталога в ` PATH в Linux
Просмотр текущих настроенных каталогов в ` PATH
Просмотреть все каталоги, которые в настоящее время настроены в переменной ` PATH вашей системы, легко. Просто используйте команду echo
следующим образом:
$ echo $PATH
Просмотр текущих настроенных каталогов в нашей переменной ` PATH
Как видите, в ` PATH уже хранится несколько разных каталогов. Именно это позволяет нам запускать так много команд по умолчанию, не указывая их полное расположение в терминале.
Чтобы узнать, к какому каталогу принадлежит команда, вы можете использовать команду который
.
$ which date
/bin/date
Временно добавьте каталог в ` PATH
Чтобы добавить каталог в ` PATH для текущего сеанса, используйте следующий синтаксис команды. В этом примере мы добавляем каталог /bin/myscripts
.
$ export PATH="/bin/myscripts:$PATH"
После этого вы можете убедиться, что каталог добавлен.
$ echo $PATH
/bin/myscripts [...]
Теперь файлы, которые мы сохранили в каталоге /bin/myscripts
, можно запускать где угодно, не указывая их полный путь. Эта конфигурация изменится, когда мы завершим текущий сеанс (перезагрузим компьютер или закроем терминал). Чтобы сделать его постоянным, ознакомьтесь с разделом ниже.
Постоянно добавить каталог в ` PATH
Чтобы навсегда добавить каталог в ` PATH, нам нужно отредактировать файл .bashrc
пользователя, которого вы хотите изменить. Используйте nano или ваш любимый текстовый редактор, чтобы открыть файл, хранящийся в домашнем каталоге.
$ nano ~/.bashrc
В конце этого файла поместите новый каталог, который вы хотите добавить навсегда, в ` PATH.
export PATH="/bin/myscripts:$PATH"
Сохраните изменения и выйдите из файла. После этого выполните следующую команду, чтобы изменения вступили в силу в текущем сеансе. Альтернативно вы можете выйти из системы или перезагрузить систему.
$ source ~/.bashrc
Вот и все. Вы можете еще раз проверить ` PATH, чтобы подтвердить изменение.
$ echo $PATH
Заключительные мысли
В этом руководстве мы узнали о переменной ` PATH и о том, как она контролирует, какие команды могут выполняться без указания их полного пути. Мы также увидели, как добавлять новые программы или сценарии в ` PATH временно или постоянно.