Inferno OS Wiki
мНет описания правки
(нормализация)
Строка 1: Строка 1:
 
'''НАЗВАНИЕ'''
 
'''НАЗВАНИЕ'''
   
  +
: env - устройство окружения
env - environment device
 
   
'''ВВОД'''
+
'''РЕЗЮМЕ'''
   
<pre>bind #e /env
+
: <pre>bind #e /env /env/name</pre>
 
/env/name</pre>
 
   
 
'''ОПИСАНИЕ'''
 
'''ОПИСАНИЕ'''
   
The environment device является одноуровневым (нет вложенных) каталогом, в котором хранятся переменные окружения и их значения. Традиционновсе ограничивается каталогом /env . Значение переменной окружения ''name'' может быть считано из файла /env/name. Если файл отсутствует, переменная считается незаданной и ее значение автоматически принимается равным nil. Максимальная длина имени переменной не должна превышать 127 байт.
+
: Устройство окружения создает одноуровневый (без вложений) каталог, в котором хранятся переменные окружения и их значения. По соглашению он обычно подключается к каталогу '''/env'''. Значение переменной окружения ''name'' может быть считано из файла ''/env/name''. Если файл отсутствует, переменная считается незаданной и ее значение автоматически принимается равным nil. Максимальная длина имени переменной не должна превышать 127 байт.
   
Новая переменная вводится путем создания соответствующего файла в каталоге /env и записи в него соответствующего значения. Удаление такого файла приводит к удалению соответствующей переменной окружения.
+
: Новая переменная вводится путем создания соответствующего файла в каталоге '''/env''' и записи в него соответствующего значения. Удаление такого файла приводит к удалению соответствующей переменной окружения.
   
Процессы, запущенные в одном окружении (environment group), используют одни и те жезначения переменных окружения, считывая их из одних и тех же файлов, поэтому изменения, вызванные одним процессом, доступны всем его одногрупникам. Любой процесс может изолировать свое окружение от изменений, привнесенных другими процессами, вызвав системную функцию [[sys-pctl(2)]] с флагом `FORKENV`, которая создаст для этого процесса новое окружение - точную копию старого, однако дальнейшие изменения в каждой группе будут происходить независимо. Можно также создать новое безпараметрическое (переменные окружения не заданы, то есть nil) окружение, вызвав ту же системную функцию с флагом `NEWENV`.
+
: Процессы, запущенные в одном окружении (environment group), используют одни и те же значения переменных окружения, считывая их из одних и тех же файлов, поэтому изменения, вызванные одним процессом, доступны всем его одногрупникам. Любой процесс может изолировать свое окружение от изменений, привнесенных другими процессами, вызвав системную функцию [[sys-pctl(2)]] с флагом `FORKENV`, которая создаст для этого процесса новое окружение - точную копию старого, однако дальнейшие изменения в нем будут происходить независимо. Пустое окружение создается вызовом той же системной функции с флагом `NEWENV`.
   
 
'''ИСХОДНЫЙ КОД'''
 
'''ИСХОДНЫЙ КОД'''
   
/os/port/devenv.c
+
: /os/port/devenv.c
 
: /emu/port/devenv.c
 
/emu/port/devenv.c
 
   
'''Смотри также'''
+
'''СМОТРИ ТАКЖЕ'''
   
[[env(1)]], [[sh(1)]], [[env(2)]], [[sys-pctl(2)]]
+
: [[env(1)]], [[sh(1)]], [[env(2)]], [[sys-pctl(2)]]
 
[[Категория:Man]]
 
[[Категория:Man]]

Версия от 12:54, 30 июля 2010

НАЗВАНИЕ

env - устройство окружения

РЕЗЮМЕ

bind #e /env /env/name

ОПИСАНИЕ

Устройство окружения создает одноуровневый (без вложений) каталог, в котором хранятся переменные окружения и их значения. По соглашению он обычно подключается к каталогу /env. Значение переменной окружения name может быть считано из файла /env/name. Если файл отсутствует, переменная считается незаданной и ее значение автоматически принимается равным nil. Максимальная длина имени переменной не должна превышать 127 байт.
Новая переменная вводится путем создания соответствующего файла в каталоге /env и записи в него соответствующего значения. Удаление такого файла приводит к удалению соответствующей переменной окружения.
Процессы, запущенные в одном окружении (environment group), используют одни и те же значения переменных окружения, считывая их из одних и тех же файлов, поэтому изменения, вызванные одним процессом, доступны всем его одногрупникам. Любой процесс может изолировать свое окружение от изменений, привнесенных другими процессами, вызвав системную функцию sys-pctl(2) с флагом `FORKENV`, которая создаст для этого процесса новое окружение - точную копию старого, однако дальнейшие изменения в нем будут происходить независимо. Пустое окружение создается вызовом той же системной функции с флагом `NEWENV`.

ИСХОДНЫЙ КОД

/os/port/devenv.c
/emu/port/devenv.c

СМОТРИ ТАКЖЕ

env(1), sh(1), env(2), sys-pctl(2)