PATH HOWTO, система, ядро, помощни програми, статии, библиотека на Linux Center, - експерт на Linux и
Този документ описва често срещани проблеми с променливите на средата Unix/Linux, особено променливата PATH. Променливата PATH съдържа списък с директории, в които да се търсят команди. Приложимо за разпространение на Debian Linux 1.3.
Тази документация е безплатна документация; можете да го разпространявате и/или модифицирате съгласно условията на Общия публичен лиценз на GNU, публикуван от Фондацията за свободен софтуер; или версия 2 на лиценза, или (по ваш избор) всяка друга версия.
Тази документация се разпространява с надеждата, че ще бъде полезна, но БЕЗ ВСЯКА ГАРАНЦИЯ; без дори подразбиращата се гаранция ЗА ТЪРГОВОСТ или ПРИГОДНОСТ ЗА КОНКРЕТНА ЦЕЛ. Вижте Общия публичен лиценз на GNU за повече подробности.
Този документ е част от проекта HOWTO на Linux.
Всички процеси на Unix съдържат "среда". Това е списък с променливи, които съдържат имена и стойности, те са низове и могат да съдържат повечето символи. Всички процеси в Unix имат родителски процес - процесът, създаден от този процес, се нарича дъщерен процес. Детските процеси наследяват средата от родителския процес. Те могат да направят някои промени в околната среда, преди да приемат околната среда вече от техните детски процеси.
В този документ използвам термина „команда“, за да се позова на програми, за които се предполага, че имат кратко име, използвайки механизма на пътя.
В Linux операционната система разглежда директориите, написани в променливата PATH, за да стартира процес: можете да използвате механизма на пътя, където и да се опитате да изпълните команда. Ако операционната система получи име на файл, което не съдържа '/', тогава се търсят директориите от променливата на средата PATH. Дори ако в средата няма променлива PATH, ще се търсят поне директориите/bin и/usr/bin.
В sh използвате командата за експортиране, за да зададете средата, в csh използвате командата setenv. Например:
Програмите C могат да използват функцията библиотека setenv (), за да променят околната среда. Perl съдържа средата в асоциативен масив от% ENV, можете да зададете PATH по този начин $ ENV = "/ bin".
Командата env е основният начин за откриване на текущите променливи на средата. Може да се използва и за тяхната промяна.
По-изчерпателна информация за основите на механизма на околната среда може да се намери в ръководствата на страниците 'environment', 'execl', 'setenv' или info 'env' и от документацията за вашата черупка.
Когато Linux стартира, първият процес, който започва, е init. Това е специален процес, тъй като той няма родител. Той обаче е основен за всички процеси. Началната среда ще остане среда на всички процеси, освен ако изрично не докосва околната среда. Повечето процеси променят средата.
Init стартира група от процеси. Файлът/etc/inittab указва кои процеси стартира системата. Тези процеси се изпълняват в среда, наследена директно от init - например програмата 'getty' записва 'login:' в конзолата. Ако стартирате PPP връзка, трябва да запомните, че работите в init среда. Инициализацията на системата често е скрипт, който се изпълнява от тук. В Debian 1.3 init скриптът /etc/init.d/rc извиква на свой ред други init скриптове.
Системата съдържа много стартови сървъри (демони), които могат или не могат да използват средата по подразбиране. Повечето сървъри се стартират от init скрипт и по този начин имат init среда.