Man page - environ(7)

Packages contains this manual

Available languages:

en fr it pl ja ro zh_TW zh_CN de

Manual

ENVIRON

名 前
書 式
説 明
注 意
バ グ
関 連 項 目
こ の 文 書 に つ い て

名 前

environ - ユ ー ザ ー 環 境

書 式

extern char ** environ ;

説 明

The variable environ points to an array of pointers to strings called the "environment". The last pointer in this array has the value NULL. (This variable must be declared in the user program, but is declared in the header file <unistd.h> if the _GNU_SOURCE feature test macro is defined.) This array of strings is made available to the process by the exec (3) call that started the process. When a child process is created via fork (2), it inherits a copy of its parent’s environment.

通 例 で は 、 environ の 文 字 列 は " name = value " と い う 書 式 を と る 。 よ く 用 い ら れ る 例 を 以 下 に 示 す 。

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 な ど ) に よ っ て 上 書 き さ れ る こ と も あ る ( LC_* 環 境 変 数 の さ ら な る 詳 細 は locale (7) 参 照 )。

PATH

sh (1) や 他 の プ ロ グ ラ ム が 、 フ ル パ ス で 与 え ら れ な か っ た 実 行 フ ァ イ ル を 検 索 す る と き 、 フ ァ イ ル 名 に 前 置 さ れ る デ ィ レ ク ト リ の 配 列 。 各 デ ィ レ ク ト リ は ' : ' に よ っ て 区 切 ら れ る 。 (同 じ よ う な も の に 、 シ ェ ル が デ ィ レ ク ト リ 変 更 コ マ ン ド の 変 更 先 を 探 す た め に 用 い る CDPATH や 、 man (1) が マ ニ ュ ア ル ペ ー ジ の 検 索 に 用 い る MANPATH な ど が あ る 。 )

PWD

現 在 の ワ ー キ ン グ デ ィ レ ク ト リ 。 い く つ か の シ ェ ル が 設 定 す る 。

SHELL

ユ ー ザ ー の ロ グ イ ン シ ェ ル の パ ス 名 。

TERM

端 末 の 種 類 。 出 力 は こ れ に あ わ せ て 用 意 さ れ る 。

PAGER

テ キ ス ト フ ァ イ ル を 表 示 す る ユ ー テ リ テ ィ 。 ユ ー ザ ー が 好 み の も の を 設 定 す る 。

EDITOR / VISUAL

テ キ ス ト フ ァ イ ル を 編 集 す る ユ ー テ リ テ ィ 。 ユ ー ザ ー が 好 み の も の を 設 定 す る 。

Names may be placed in the shell’s environment by the export command in sh (1), or by the setenv command if you use csh (1).

The initial environment of the shell is populated in various ways, such as definitions from /etc/environment that are processed by pam_env (8) for all users at login time (on systems that employ pam (8)). In addition, various shell initialization scripts, such as the system-wide /etc/profile script and per-user initializations script may include commands that add variables to the shell’s environment; see the manual page of your preferred shell for details.

Bourne-style shells support the syntax

NAME=value command

to create an environment variable definition only in the scope of the process that executes command . Multiple variable definitions, separated by white space, may precede command .

exec (3) の 引 数 と し て も 環 境 を 設 定 す る こ と が で き る 。 C プ ロ グ ラ ム か ら は 、 getenv (3), putenv (3), setenv (3), unsetenv (3) な ど の 関 数 を 用 い て 環 境 を 扱 う こ と が で き る 。

Note that the behavior of many programs and library routines is influenced by the presence or value of certain environment variables. Examples include the following:

*

LANG , LANGUAGE , NLSPATH , LOCPATH , LC_ALL , LC_MESSAGES , な ど の 変 数 は 、 ロ ケ ー ル の 扱 い に 影 響 す る 。 catopen (3), gettext (3), locale (5) を 参 照 。

*

TMPDIR は 、 tempnam (3) な ど の ル ー チ ン に よ っ て 作 成 さ れ る フ ァ イ ル 名 や sort (1) や 他 の プ ロ グ ラ ム が 使 用 す る 一 時 デ ィ レ ク ト リ に 前 置 さ れ る パ ス に 影 響 す る 。

*

LD_LIBRARY_PATH , LD_PRELOAD な ど の LD_* 変 数 は ダ イ ナ ミ ッ ク ロ ー ダ ー リ ン カ ー の 動 作 に 影 響 す る 。

*

POSIXLY_CORRECT が 指 定 さ れ る と 、 あ る 種 の プ ロ グ ラ ム や ラ イ ブ ラ リ ル ー チ ン は POSIX の 規 定 に 従 う よ う に な る 。

*

malloc (3) の 動 作 は MALLOC_* 変 数 に よ っ て 影 響 さ れ る 。

*

HOSTALIAS 変 数 は 、 gethostbyname (3) が 用 い る エ イ リ ア ス が 書 か れ て い る フ ァ イ ル 名 を 与 え る 。

*

TZ TZDIR tzset (3) お よ び 、 こ の 関 数 を 使 う ctime (3), localtime (3), mktime (3), strftime (3) と い っ た 関 数 で 用 い ら れ る タ イ ム ゾ ー ン の 情 報 を 与 え る 。 tzselect (8) も 参 照 の こ と 。

*

TERMCAP は 、 現 在 の 端 末 情 報 の 取 得 先 (あ る い は そ の よ う な 情 報 が 書 か れ て い る フ ァ イ ル 名 ) を 与 え る 。

*

COLUMNS LINES ア プ リ ケ ー シ ョ ン に ウ イ ン ド ウ の サ イ ズ を 伝 え る 。 実 際 の サ イ ズ と は 違 う 値 を 与 え る こ と も で き る 。

*

PRINTER ま た は LPDEST 用 い た い プ リ ン タ を 指 定 す る 。 lpr (1) を 参 照 の こ と 。

注 意

The prctl (2) PR_SET_MM_ENV_START and PR_SET_MM_ENV_END operations can be used to control the location of the process’s environment.

バ グ

こ れ ら の 中 に は 、 明 ら か に セ キ ュ リ テ ィ 上 の 危 険 が 存 在 す る 。 ユ ー ザ ー が IFS LD_LIBRARY_PATH に 異 常 な 値 を 与 え た こ と に よ っ て 、 こ れ ま で 多 く の シ ス テ ム コ マ ン ド が だ ま さ れ て 、 シ ス テ ム を ひ ど い 目 に あ わ せ て き た 。

名 前 空 間 が 汚 染 さ れ る 危 険 性 も 存 在 す る 。 make autoconf の よ う な プ ロ グ ラ ム で は 、 デ フ ォ ル ト の ユ ー テ ィ リ テ ィ を 環 境 に あ る 似 た よ う な 名 前 の 変 数 で 上 書 き す る こ と が で き る (通 常 は す べ て 大 文 字 の 変 数 を 用 い る )。 す な わ ち 、 利 用 し た い C コ ン パ イ ラ は CC で 選 択 で き る 。 ま た 同 様 に MAKE , AR , AS , FC , LD , LEX , RM , YACC な ど も 用 い る こ と が で き る 。 と こ ろ が 一 方 で は 、 こ の よ う な 変 数 を (パ ス 名 で は な く ) プ ロ グ ラ ム に 対 す る オ プ シ ョ ン と し て 扱 う よ う な 流 儀 も 存 在 し て き た 。 例 え ば MORE , LESS , GZIP な ど が そ う で あ る 。 こ の よ う な 利 用 法 は 間 違 っ て い る と 考 え る べ き で 、 新 し い プ ロ グ ラ ム で は 避 け る べ き で あ る 。 gzip の 作 者 た ち は 、 オ プ シ ョ ン を 与 え る 環 境 変 数 を GZIP_OPT に 改 名 す る こ と を 考 え る ほ う が よ い 。

関 連 項 目

bash (1), csh (1), env (1), login (1), printenv (1), sh (1), tcsh (1), execve (2), clearenv (3), exec (3), getenv (3), putenv (3), setenv (3), unsetenv (3), locale (7), ld.so (8), pam_env (8)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。