- . что такое переменная среды PATH?
- Что такое вообще переменная среды?
- Как посмотреть значения переменных среды?
- На что влияет переменная среды PATH ?
- Переменная PATH и программы-утилиты
- Как изменять значения переменных среды?
- Переменную поменял, но эффекта нет. Почему?
- Автор: Алексей Баранцев
- Windows: как добавить что-либо в PATH
- Зачем это всё
- Как добавить директорию в PATH
- Изучаем переменные среды в Windows 10
- Переменные среды Windows
- Переменные PATH и PATHEXT
- Создание переменных среды
- Заключение
. что такое переменная среды PATH?
Что такое вообще переменная среды?
Когда операционная система запускает какую-нибудь программу, она стартует новый процесс и каким-то образом передаёт ему информацию о настройках среды, или окружения (в английском языке используется термин environment). Эта информация состоит из набора переменных, содержащих некоторые значения. Процесс может получить эти значения, обратившись к нужной переменной по имени. Например, чтобы узнать, где находится директория, которую операционная система рекомендует использовать для хранения временных файлов, необходимо получить значение переменной среды TEMP .
Как посмотреть значения переменных среды?
В консоли Windows можно посмотреть значение этой переменной, выполнив команду echo %TEMP% , в консоли PowerShell необходимо для этого выполнить команду echo $Env:TEMP , а в консоли Linux или MacOS – команду echo $TEMP .
Если вы пишете программу на языке программирования Python, значение этой переменной можно получить так:
В языке Java это можно сделать следующим образом:
В языке C# аналогичное действие выглядит следующим образом:
На что влияет переменная среды PATH ?
При помощи переменных среды можно передавать информацию не только запускаемым процессам, но и самой операционной системе. Она тоже читает и использует значения переменных среды, поэтому можно управлять некоторыми аспектами поведения операционной системы, изменяя эти переменные.
Переменная PATH содержит список директорий, в которых операционная система пытается искать исполняемые файлы, если пользователь при запуске не указал явно путь к нужному исполняемому файлу.
Давайте представим себе, что на компьютере с операционной системой Windows установлено две разных версии интерпретатора языка программирования Python. Это можно сделать, если установить их в разные директории, например, C:\Python27 и C:\Python34 . Исполняемый файл для обоих версий называется python.exe .
Для того, чтобы запустить исполняемый файл нужной версии, можно указать полный путь к нему, например, C:\Python34\python.exe :
Но каждый раз указывать полный путь лень, да ещё и помнить его надо.
Альтернатива – добавить в переменную среды PATH путь к директории, где находится этот исполняемый файл, и тогда его можно будет запускать, указывая только имя. А чтобы узнать, где он (по мнению операционной системы) находится, можно использовать команду where в операционной системе Windows либо команду which в операционной системе Linux или MacOS.
Переменная PATH содержит список директорий, в которых операционная система должна искать исполняемые файлы. В качестве разделителя используется точка с запятой (;) в операционной системе Windows и двоеточие (:) в операционных системах Linux и MacOS.
Обратите внимание, что в переменную PATH нужно добавлять не пути к исполняемым файлам, а пути к директориям, где они находятся!
Переменная PATH и программы-утилиты
Не обязательно добавлять в переменную PATH пути ко всем директориям, в которых находятся исполняемые файлы на вашем компьютере. Скорее всего большинство программ вы запускаете “через меню старт”. На этот способ запуска переменная PATH никакого влияния не оказывает. Её важно настроить так, чтобы можно было быстро и удобно запускать программы из консоли.
Например, в эту переменную обычно включается путь к “стандартным” местам, где расположены различные программы-утилиты. В операционной системе Windows это директория C:\Windows\system32 , в операционных системах Linux и MacOS директория /usr/bin .
Именно благодаря этому мы можем, например, в консоли Windows использовать утилиту find для поиска файлов или утилиту telnet для установления удалённого соединения по одноимённому протоколу, просто указывая их имя, а не полный путь c:\Windows\system32\telnet.exe .
Когда у вас появляется новая программа-утилита, возникает вопрос – куда её поместить? С одной стороны, её можно положить в C:\Windows\system32 или /usr/bin . Но если вы не любите “засорять” стандартные директории, тогда сделайте какую-нибудь специальную директорию, складывайте все такие программы в неё, и добавьте путь к этой директории в переменную среды PATH .
Как изменять значения переменных среды?
Пользователям других операционных систем предлагаю погуглить 🙂
Переменную поменял, но эффекта нет. Почему?
Когда вы меняете значение некоторой переменной среды, об этом узнаёт только операционная система. При запуске новых программ она сообщит им новые значения переменных. Но ранее запущенные программы будут продолжать использовать те значения переменных среды, которые были актуальны на момент запуска программы.
Поэтому после изменения переменных среды придётся перезапустить те программы, которым необходимо сообщить новые значения переменных.
Автор: Алексей Баранцев
Если вам понравилась эта статья, вы можете поделиться ею в социальных сетях (кнопочки ниже), а потом вернуться на главную страницу блога и почитать другие мои статьи.
Ну а если вы не согласны с чем-то или хотите что-нибудь дополнить – оставьте комментарий ниже, может быть это послужит поводом для написания новой интересной статьи.
Windows: как добавить что-либо в PATH
На примере Sublime Text
Работа с фронтендом сейчас немыслима без использования консоли (командной строки): набираем какую-либо команду с аргументами — получаем результат. Ну и для некоторых операций консоль дает выигрыш по скорости в сравнении с GUI (сравните создание файловой структуры из GUI с командой mkdir -p project/
Зачем это всё
Хочется набирать в консоли subl . для открытия текущей директории как папки проекта или subl filename.html для открытия файла в ST3. При этом не хочется блокировать возможность работы с консолью, как в случае с алиасом.
Как добавить директорию в PATH
PATH — это системная переменная, содержащая список директорий, в которых ОС будет искать исполняемый файл при вызове команды из консоли.
В Windows 10 можно добраться до настройки PATH так: Этот компьютер → Свойства → Дополнительные параметры системы → Дополнительно → Переменные среды. Или вызовом «Изменение переменных среды текущего пользователя» в результатах поиска.
В окошке «Переменные среды» в блоке «Переменные среды пользователя %USERNAME%» находим строку PATH , выделяем кликом, жмем кнопку «Изменить…» и в появившемся окошке нажимаем «СОздать» для добавления ещё одного элемента. В самом элементе нужно вписать путь к папке Sublime Text (путь к файлу subl.exe , который должен лежать в папке программы). В моем случае получилось так:
После перезапуска консоли можно наслаждаться командой subl .
© Николай Громов. Внутренняя Монголия, вечность, лето.
Изучаем переменные среды в Windows 10
Переменные среды Windows
Получить информацию о существующих переменных можно в свойствах системы. Для этого кликаем по ярлыку Компьютера на рабочем столе правой кнопкой мыши и выбираем соответствующий пункт.
Переходим в «Дополнительные параметры».
В открывшемся окне с вкладкой «Дополнительно» нажимаем кнопку, указанную на скриншоте ниже.
Здесь мы видим два блока. Первый содержит пользовательские переменные, а второй системные.
Если требуется просмотреть весь перечень, запускаем «Командную строку» от имени администратора и выполняем команду (вводим и нажимаем ENTER).
На рабочем столе появится файл с названием «set.txt», в котором будут указаны все переменные окружения, имеющиеся в системе.
Все их можно использовать в консоли или скриптах для запуска программ или поиска объектов, заключив имя в знаки процента. Например, в команде выше вместо пути
Примечание: регистр при написании переменных не важен. Path=path=PATH
Переменные PATH и PATHEXT
Если с обычными переменными все понятно (одна ссылка – одно значение), то эти две стоят особняком. При детальном рассмотрении видно, что они ссылаются сразу на несколько объектов. Давайте разберемся, как это работает.
«PATH» позволяет запускать исполняемые файлы и скрипты, «лежащие» в определенных каталогах, без указания их точного местоположения. Например, если ввести в «Командную строку»
система осуществит поиск по папкам, указанным в значении переменной, найдет и запустит соответствующую программу. Этим можно воспользоваться в своих целях двумя способами:
- Поместить необходимый файл в одну из указанных директорий. Полный список можно получить, выделив переменную и нажав «Изменить».
Создать свою папку в любом месте и прописать путь к ней. Для этого (после создания директории на диске) жмем «Создать», вводим адрес и ОК.
%SYSTEMROOT% определяет путь до папки «Windows» независимо от буквы диска.
Затем нажимаем ОК в окнах «Переменные среды» и «Свойства системы».
Для применения настроек, возможно, придется перезапустить «Проводник». Сделать это быстро можно так:
Открываем «Командную строку» и пишем команду
taskkill /F /IM explorer.exe
Все папки и «Панель задач» исчезнут. Далее снова запускаем «Проводник».
Еще один момент: если вы работали с «Командной строкой», ее также следует перезапустить, то есть консоль не будет «знать», что настройки изменились. Это же касается и фреймворков, в которых вы отлаживаете свой код. Также можно перезагрузить компьютер или выйти и снова зайти в систему.
Теперь все файлы, помещенные в «C:\Script» можно будет открывать (запускать), введя только их название.
«PATHEXT», в свою очередь, дает возможность не указывать даже расширение файла, если оно прописано в ее значениях.
Принцип работы следующий: система перебирает расширения по очереди, пока не будет найден соответствующий объект, причем делает это в директориях, указанных в «PATH».
Создание переменных среды
Создаются переменные просто:
- Нажимаем кнопку «Создать». Сделать это можно как в пользовательском разделе, так и в системном.
Вводим имя, например, «desktop». Обратите внимание на то, чтобы такое название еще не было использовано (просмотрите списки).
В поле «Значение» указываем путь до папки «Рабочий стол».
Нажимаем ОК. Повторяем это действие во всех открытых окнах (см. выше).
Для примера переделаем команду, которую мы использовали для получения списка (самая первая в статье). Теперь нам вместо
потребуется ввести только
Заключение
Использование переменных окружения позволяет значительно сэкономить время при написании скриптов или взаимодействии с системной консолью. Еще одним плюсом является оптимизация создаваемого кода. Имейте в виду, что созданные вами переменные отсутствуют на других компьютерах, и сценарии (скрипты, приложения) с их использованием работать не будут, поэтому перед тем, как передавать файлы другому пользователю, необходимо уведомить его об этом и предложить создать соответствующий элемент в своей системе.