環境(environment)とは、オペレーティングシステムの機能です。これは値と名前をもつ変数のコレクションからなります。それぞれの変数は環境変数(environment variable)と呼ばれます。環境変数名は大文字小文字を区別し、慣習では大文字だけを使用します。値はすべてテキスト文字列です。
何が環境を便利にしているかというと、それはサブプロセスが親プロセスから自動的に環境を継承できることです。これはログインシェルで環境変数をセットして、実行するすべて(Emacsを含む)のプログラムが、それを参照できることを意味します。Emacsのサブプロセス(シェル、コンパイラー、バージョンコントロールシステムなど)も、Emacsから環境を継承します。
Emacsの中では、コマンドM-x getenvは環境変数の名前を読み取って、その値をエコーエリアにプリントします。M-x
setenvはEmacs環境で変数をセットし、C-u M-x
setenvは変数を削除します(‘$’による環境変数の置き換えは、ファイル名にたいする値と同様に機能します。File Names with $を参照してください)。変数initial-environment
は、Emacsにより継承された初期環境を保管します。
Emacsの外で環境変数をセットする方法は、オペレーティングシステム、特に使用しているシェルに依存します。たとえば以下はBashを使用して、環境変数ORGANIZATION
に‘not
very much’をセットする例です:
export ORGANIZATION="not very much"
以下はcshまたはtcshでこれを行なう方法の例です:
setenv ORGANIZATION "not very much"
EmacsがXウィンドウシステムを使用している場合、Xを制御するさまざまな環境変数は、Emacsも同様に制御します。詳細は、Xのドキュメントを参照してください。