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
может замедлить работу операционной системы в результате поиска среди большого количества или среди несуществующих каталогов.
Ссылки
- ↑ Open Group Unix Specification, Environment Variables (неопр.). Дата обращения: 30 декабря 2013. Архивировано 28 августа 2009 года.
- ↑ Open Group Unix Specification, execve() function (неопр.). Дата обращения: 30 декабря 2013. Архивировано 29 ноября 2009 года.
- ↑ Microsoft.com, PATH command (неопр.). Дата обращения: 30 декабря 2013. Архивировано 1 декабря 2017 года.