Книга: Основы программирования в Linux

Переменная environ

Переменная environ

Как вы уже знаете, окружение программы формируется из строк вида имя=значение. Этот массив строк становится доступен программе непосредственно из переменной environ, которая объявляется, как

#include <stdlib.h>

extern char **environ;

Выполните упражнение 4.5.

Упражнение 4.5. Переменная environ

Далее приведена программа showenv.c, использующая переменную environ для вывода переменных окружения.

#include <stdlib.h>
#include <stdio.h>
extern char **environ;
int main() {
 char **env = environ;
 while (*env) {
  printf("%sn", *env);
  env++;
 }
 exit(0);
}

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

$ ./showenv
HOSTNAME=tilde.provider.com
LOGNAME=neil
MAIL=/var/spool/mail/neil
TERM=xterm
HOSTTYPE=i386
PATH=/usr/local/bin:/bin:/usr/bin:
HOME=/usr/neil
LS_OPTIONS=-N --color=tty -T 0
SHELL=/bin/bash
OSTYPE=Linux
...

Как это работает

Для вывода всего окружения программа в цикле обращается к переменной environ — массиву нуль-терминированных строк.

Оглавление книги


Генерация: 1.677. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз