PATH — это переменная среды в Unix-подобных операционных системах , DOS , OS/2 и Microsoft Windows , указывающая набор каталогов , в которых находятся исполняемые программы. Как правило, каждый выполняемый процесс или пользовательский сеанс имеет свою собственную настройку PATH.
Multics придумала путь поиска. Ранняя оболочка Unix искала имена программ только в /bin
, но к Версии 3 Unix каталог был слишком большим, а /usr/bin
, а также путь поиска стали частью операционной системы. [1]
В POSIX и Unix-подобных операционных системах $PATH
переменная указывается в виде списка из одного или нескольких имен каталогов, разделенных двоеточием ( :
). [2] [3]
Каталоги в PATH
-string не предназначены для экранирования, что делает невозможным наличие каталогов с :
именем. [4]
Каталоги /bin
, /usr/bin
и /usr/local/bin
обычно включаются в $PATH
настройки большинства пользователей (хотя это зависит от реализации). Суперпользователь также обычно имеет и записи для простого выполнения команд системного администрирования . Текущий каталог ( ) также иногда включается пользователями, что позволяет напрямую запускать программы, находящиеся в текущем рабочем каталоге . Системные администраторы, как правило, не включают его , чтобы предотвратить случайное выполнение скриптов, находящихся в текущем каталоге, например, которые могут быть помещены туда вредоносным tarbomb./sbin
/usr/sbin
.
$PATH
. В этом случае выполнение такой программы требует указания абсолютного ( /home/userjoe/bin/script.sh
) или относительного пути ( ./script.sh
) в командной строке.
Когда имя команды указывается пользователем или из программы выполняется вызов exec$PATH
, система выполняет поиск по всем каталогам слева направо в списке в поисках имени файла , соответствующего имени команды. После обнаружения программа выполняется как дочерний процесс командной оболочки или программы, выдавшей команду.
В операционных системах DOS, OS/2 и Windows %PATH%
переменная указывается в виде списка из одного или нескольких имен каталогов, разделенных точкой с запятой ( ;
). [5]