Блог LearnQA

Переменная окружения PATH

Здравствуйте, коллеги.

Довольно часто на наших курсах нам приходится работать с различными переменными окружения. Особый интерес у учеников вызывает переменная окружения PATH. В этой мини-статье решили рассказать о том, что это за переменная и зачем нужна нашей операционной системе.

Что такое переменная окружения


Для начала давайте определимся с тем, что вообще такое переменная окружения.

Переменная окружения - это то же самое, что и переменная в любом языке программирования. Для тех, кто никогда не писал код, проще всего объяснить это следующим образом. Это некая сущность, у которой есть имя и значение.

Если в языке программирования переменная существует только в рамках какой-то программы, то переменная окружения существует в рамках всей операционной системы и любая программа может к ней обратиться.

Нужны такие переменные как раз для этого - чтобы программы могли к ним обращаться и получать требующуюся им для работы информацию.

Например, давайте представим, что мы пишем программу, которая в ходе своей работы должна взаимодействовать с Java. На каждом компьютере она может находиться в разных местах. У меня в одной директории, у другого человека - в другой. Как нам написать программу, которая работала бы у всех?

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

Переменная окружения PATH


Переменная окружения PATH нужна прежде всего самой командной строке. Ее значение - это список директорий, в которых хранятся исполняемые файла. Директории перечислены через двоеточие. Например:

/usr/bin:/usr/local/bin

Тут две директории, перечисленные через двоеточие:

/usr/bin
/usr/local/bin

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

Переменная окружения PATH существует как в Linux, так и в MacOS и Windows и везде работает одинаково.

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

Дальнейшие команды будут работать только в командной оболочке bash в операционных системах Linux (например, Ubuntu) и MacOS. Если у вас Windows, повторить их можно, установив специальное расширение cygwin по нашему видео - https://www.youtube.com/watch?v=2csABC85onI

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

echo $PATH

Если директорий много, в таком виде читать ее содержимое не очень удобно и мы предлагаем использовать следующую команду:

echo $PATH | tr ":" "\n"

Так получится гораздо нагляднее.

Чтобы узнать, в какой директории лежит исполняемый файл той или иной команды, необходимо ввести команду which. Например, давайте посмотрим, где лежит исполняемый файл команды ls:

which ls

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


Для ОС Windows версии 8 и 10:

В строке "Поиск" выполните поиск: Система (Панель управления)
Нажмите на ссылку “Дополнительные параметры системы”
Нажмите “Переменные среды”
В разделе “Переменные среды” выберите переменную среды PATH
Нажмите “Изменить”
Если переменной PATH не существует, нажмите “Создать”
В окне “Изменение системной переменной” (или “Новая системная переменная”) укажите значение переменной среды PATH
Нажмите “ОК”
Откройте заново окно командной строки (если она была открыта)

Для MacOS и Linux переменная окружения PATH обычно дополняется через системные файлы .bashrc и .bash_profile

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

Приходите на наш курс Bash - инструменты тестировщика, там мы рассказываем это и многое другое для того, чтобы наши ученики чувствовали себя уверенным пользователем Linux и MacOS и могли эффективно работать с любой командной оболочкой.

А если хочешь почувствовать себя настоящим профессионалом командной строки, покупай пакет курсов Консольные утилиты PRO с хорошей скидкой.

Учитесь новому каждый день! :)