環境変数 【environment variables】

概要

環境変数(environment variables)とは、オペレーティングシステム(OS)が設定値などを永続的に保存し、利用者実行されるプログラムから設定・参照できるようにしたもの。プログラム実行時などに必要となる、利用者コンピュータごとに内容が異なる設定値などを記録するために用いられる。

環境変数は変数名と設定値からなり、OS変数名を指定すると対応する現在の設定値を返す。多くはOSが自動的に設定するか、アプリケーションインストール時などに設定するが、利用者シェルによる操作で明示的に作成・変更できるものもある。

例えば、プログラム上で時刻を扱う際に現在位置の標準時が必要になることがあるが、開発時には世界のどこで使われるかあらかじめ決め打ちできない場合もあるため、実行時に現在位置を取得する仕組みが必要になる。

このような場合に、現在地の標準時(タイムゾーン)が設定された「TZ」環境変数をOSに問い合わせて参照するようなコードにしておけば、実行時コンピュータの設定に応じて時刻処理を行えるようになる。

UNIX系OSの環境変数

LinuxなどのUNIX系OSでは、標準コマンドなどの置かれているパスpath)を設定する「PATH」や、現在の利用者アカウント名を表す「USER」、現在の利用者ホームディレクトリパスを表す「HOME」、利用者の使う言語(日本語、英語など)を設定する「LANG」、カレントディレクトリを表す「PWD」、デフォルトシェルパスを指定する「SHELL」などがよく用いられる。

UNIX系OSでは環境変数によく似た「シェル変数」も用意されている。これはシェルが独自に保管する設定値で、環境変数と同じように作成や値の代入、読み出しなどを行うことができる。現在実行中のシェル以外から操作することはできず、シェルを新たに起動したりシステム再起動すると失われる。

シェルで「変数名 値」を実行すると変数の作成や代入を行うことができるが、これは通常シェル変数となる。環境変数として永続的に保存したい場合はexportコマンドbashなど)やsetenvコマンドcsh)を用いて「export 変数名 値」のようにする。

Windowsの環境変数

Windowsでは「PATH」などUNIX系と共通のものに加え、システムドライブを表す「SystemDrive」、Windowsフォルダを表す「WINDIR」、実行可能なファイル拡張子を列挙した「PATHEXT」、一時フォルダパスを指定する「TEMP」、コマンドプロンプトの形式を指定する「PROMPT」、設定されたコンピュータ名を表す「COMPUTERNAME」などが用意されている。

UNIX系と同じようにコマンドプロンプトから変数の作成や値の代入、表示などを指示できる。setコマンドで一時的な変数の作成や変更ができ、setxコマンドで永続的な変数の作成や編集ができる。コントロールパネル変数の一覧や永続的な変更を行うこともできる。

(2024.3.10更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。