Документация по LinuxLinuxDoc.Ru 🔍

environ - переменные пользовательского окружения

НАЗВАНИЕ
environ - переменные пользовательского окружения

СИНТАКСИС

extern char **environ;

ОПИСАНИЕ
Переменная environ указывает на массив строк, называемый
"окружением". (Эта переменная должна быть указана в
пользовательской программе, но, на самом деле, ее
определение находится в файле unistd.h, если это libc4 или
libc5, или glibc, если в ней задано определение
_GNU_SOURCE.) Этот массив становится доступен процессу
после его запуска функцией exec(3). Эти строки имеют
форму `название=значение'. Наиболее распространенные
переменные окружения:

USER Имя пользователя (используется некоторыми
программами, перенесенными из BSD);

LOGNAME
Имя пользователя (используется некоторыми
программами, перенесенными из System-V);

HOME Домашний каталог пользователя, в который он
попадает при входе в систему. Устанавливается
командой login(1) в соответствии с файлом
passwd(5).

LANG Название локали, используемой по умолчанию, если ее
значение не аннулировано LC_ALL, или другой
переменной окружения, такой как LC_COLLATE,
LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC,
LC_TIME. См. также locale(5).

PATH Набор каталогов, в которых sh(1) и многие другие
программы производят поиск файла, заданного
неполным именем. Эти каталоги разделяются знаком
`:'. (Так же определяются и другие подобные
переменные: CDPATH, используемая некоторыми
оболочками для поиска каталога при выполнении смены
каталога; MANPATH, используемая командой man(1) для
поиска страниц руководства и т.п.)

PWD Текущий рабочий каталог. Устанавливается некоторыми
оболочками.

SHELL Имя файла пользовательской оболочки.

TERM Тип терминала, на который производится вывод.

PAGER Предпочитаемая пользователем утилита просмотра
текстовых файлов.

EDITOR/VISUAL
Предпочитаемая пользователем утилита редактирования
текстовых файлов.

BROWSER
Программа для просмотра URL предпочитаемая
пользователем. Последовательность команд просмотра,
разделенных двоеточием. Загляните на
http://www.tuxedo.org/~esr/BROWSER/ .

Другие переменные могут быть помещены в окружение
командами export, командой `название=значение'в sh(1) или
командой setenv, если вы используете csh(1). Параметры
могут быть помещены в окружение при исполнении функции
exec(3). В программе, написаннной на языке C, Вы можете
работать с окружением при помощи: getenv(3), putenv(3),
setenv(3) и unsetenv(3). Заметьте, что поведение многих
программ и библиотечных функций зависит от наличия или
значения некоторых переменных окружения. Опишем некоторые
из них.

Переменные LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL,
LC_MESSAGES, и т.п. влияют на работу локалей. См.
locale(5).

TMPDIR влияет на префикс полного имени файла, создаваемого
tmpnam(3) и другими подобными функциями, а также является
временным каталогом для sort(1) и других программ.

LD_LIBRARY_PATH, LD_PRELOAD и другие переменные LD_*
влияют на работу динамического загрузчика библиотек.

POSIXLY_CORRECT заставляет некоторые программы и
библиотеки точно следовать требованиям POSIX.

Поведением функций malloc(3) управляют переменные MAL-
LOC_*.

Переменная HOSTALIASES задает имя файла с псевдонимами
машин; это имя используется gethostbyname(3).

TZ и TZDIR содержат информацию о часовом поясе,
используемую tzset(3), и, через нее, функциями типа
ctime(), localtime(), mktime(), strftime(). См. также
tzselect(1).

TERMCAP содержит информацию о работе с заданным терминалом
(или задает имя файла, содержащего такую информацию).
.LP COLUMNS и LINES сообщают приложениям размер окна,
которые могут изменить размеры установленные по умолчанию.

PRINTER или LPDEST могут указывать нужный принтер для
печати. См. lpr(1).

НАЙДЕННЫЕ ОШИБКИ

Очевидно, что это представляет угрозу системе
безопасности. Многие системные команды могут быть "сбиты с
толку" пользователем, задающим необычные значения IFS или
LD_LIBRARY_PATH. Так же существует риск изменения имен
файлов. Такие программы как make и autoconf позволяют
переименовывать названия файлов, заменяя некоторые
переменные на такие же в верхнем регистре. Поэтому
некоторые используют перменную окружения CC для выбора
нужного компилятора C (и соответствующих MAKE, AR, AS, FC,
LD, LEX, RM, YACC, и т.д.). Иногда через переменные
окружения передают параметры для программы. Для этого
используют переменные MORE, LESS, и GZIP. это считается
порочной практикой и избегается в новых программах. А
авторы gzip должны оставлять опцию GZIP_OPT.
Читать новости Linux в Telegram
Linux - environ - переменные пользовательского окружения
Мы в соцсетях ✉