После установки программы запустить ее можно только в том же каталоге, в котором хранится программа. Запустить программу из любого каталога вы можете с помощью переменной среды PATH.
Переменная PATH содержит список каталогов, которые система проверяет перед запуском команды. Обновив переменную PATH, вы сможете запускать любые исполняемые файлы, которые находятся в перечисленных в PATH каталогах, из любого каталога, не вводя абсолютный путь к файлу.
Например, для запуска Python вместо следующего:
/usr/bin/python3
Можно ввести следующую команду, поскольку каталог /usr/bin включен в переменную PATH:
python3
Каталоги перечислены в порядке приоритета, поэтому первыми упоминаются те, которые нужно проверять первыми.
В этом руководстве вы научитесь проверять переменную PATH и обновлять ее значение.
Читайте также: Чтение и установка переменных среды и оболочки на сервере Linux
1: Просмотр переменной PATH
Вы можете просмотреть переменную PATH с помощью следующей команды:
echo $PATH
По умолчанию переменная PATH может выглядеть примерно так (пути к файлам могут немного отличаться в зависимости от вашей системы):
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
Некоторые каталоги упоминаются по умолчанию, а каждый каталог в PATH отделяется двоеточием (:). Система проверяет эти каталоги слева направо.
Если каталог, в котором установлена необходимая программа, не перечислен в переменной PATH, вы можете добавить его самостоятельно.
2: Добавление каталога в переменную среды PATH
Добавить каталог в PATH можно двумя способами – поместив его в начале или в конце пути.
Помещая каталог (например, /the/file/path) в начало PATH, вы говорите системе, что его нужно проверять первым:
export PATH=/the/file/path:$PATH
Каталог, добавленный в конец PATH, будет проверен после всех остальных каталогов:
export PATH=$PATH:/the/file/path
Чтобы поместить в PATH несколько каталогов одновременно, добавьте двоеточие между ними:
export PATH=$PATH:/the/file/path:/the/file/path2
После выполнения команды 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.
Сначала откройте файл:
nano ~/.bashrc
В файле ~/.bashrc хранятся данные, которые не нужно изменять. В конец файла добавьте команду export с новым каталогом:
... Adding paths to your PATH export PATH=$PATH:the/file/path
Напоминаем, что каталоги перечисляются в PATH по приоритетности.
Сохраните и закройте файл. Изменения в переменную PATH будут внесены после запуска нового сеанса оболочки. Чтобы применить изменения к текущему сеансу, используйте команду source:
source ~/.bashrc
Позже вы можете добавить новые каталоги. Для этого снова откройте этот файл и добавьте каталоги в существующую команду export.
Заключение
Переменная среды PATH является важным аспектом работы командной строки. Она позволяет запускать программы, такие как echo и python3, из любого каталога, не вводя полный путь к программе. Здесь вы узнали, как редактировать ее значение и сохранять его на постоянной основе.