ENV(3)ENV(3)NAMEenv - environment variables
SYNOPSIS
bind #e /env
/env/var1
/env/var2
...
DESCRIPTION
The env device serves a one-level directory containing files with arbi‐
trary names and contents. The intention is that the file name is the
name of an environment variable (see rc(1)), and the content is the
variable's current value.
When a fork(2) system call creates a new process, both the parent and
the child continue to see exactly the same files in the env device:
changes made in either process can be noticed by the other. In con‐
trast, an rfork system call with the RFENVG bit set (see fork(2))
causes a split: initially both process groups see the same environment
files, but any changes made in one process group cannot be noticed by
the other. An rfork with RFCENVG splits and then clears the environ‐
ment.
The special global environment #ec contains kernel configuration vari‐
ables, such as those set in plan9.ini(8). All processes see the same
#ec; its contents are writable only by the host owner. [XXX actually
everything is world writable; that's a mistake.]
SEE ALSOrc(1), fork(2), #c/reboot in cons(3), plan9.ini(8)SOURCE
/sys/src/9/port/devenv.c
BUGS
A write starting at an offset after the current extent of a file yields
an error instead of zero filling.
ENV(3)