PATH (переменная)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

PATH — переменная окружения Unix-подобных операционных систем, DOS, OS/2 и Microsoft Windows, представляющая собой набор каталогов, в которых расположены исполняемые файлы. В основном, каждый выполняемый процесс или сеанс пользователя имеет собственную переменную PATH.

Unix и Unix-подобные

[править | править код]

На POSIX и Unix-подобных операционных системах переменная $PATH задана как одно или несколько имён каталогов, разделённых двоеточиями (:).[1][2]

В основном в переменную $PATH входят каталоги /bin, /usr/bin и /usr/local/bin. Часто также входит текущий каталог (.), что позволяет программам исполняться прямо из неё. Однако администраторы как правило не включают её в переменную $PATH, чтобы избежать случайного исполнения скриптов из текущего каталога. Запуск такой программы требует написания (./) перед названием.

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

DOS, OS/2, и Windows

[править | править код]

В операционных системах DOS, OS/2 и Windows переменная %PATH% задана в виде списка каталогов, разделённых точкой с запятой (;).[3]

Системный каталог Windows (как правило это C:\WINDOWS\system32) обычно является первым каталогом в списке, за ним следует множество (не все) каталогов с установленными программами. Множество программ не попадают в PATH, поскольку они не рассчитаны на запуск из командной оболочки, только из GUI. Некоторые программы могут в процессе установки добавлять свои каталоги в начало переменной PATH для ускорения процесса поиска и/или подмены команд ОС. В эпоху DOS строки PATH {program directory};%PATH% или SET PATH={program directory};%PATH% могли добавляться в файл AUTOEXEC.BAT вручную.

После ввода команды или выполнения программой системного вызова, система в первую очередь ищет в текущем каталоге, а затем уже в переменной PATH, проверяя каждый каталог слева направо на наличие исполняемого файла, соответствующего данной команде. Исполняемые программы могут иметь расширения .exe, .com, .bat, .cmd, а также добавленные пользователем.

По нахождении исполняемого файла система запускает его.

Переменная PATH упрощает запуск программ общего пользования, расположенных в отдельных каталогах. Однако неграмотное использование переменной PATH может замедлить работу операционной системы в результате поиска среди большого количества или среди несуществующих каталогов.

  1. Open Group Unix Specification, Environment Variables. Дата обращения: 30 декабря 2013. Архивировано 28 августа 2009 года.
  2. Open Group Unix Specification, execve() function. Дата обращения: 30 декабря 2013. Архивировано 29 ноября 2009 года.
  3. Microsoft.com, PATH command. Дата обращения: 30 декабря 2013. Архивировано 1 декабря 2017 года.