環境変数とは何ですか?
環境変数は、オペレーティングシステムやユーザーセッションなど、現在の環境に関連する値を保持します。
道
最もよく知られているものの1つは、PATH
Windows、Linux、およびMac OS Xで呼び出されます。コマンドラインでファイルへの完全なパスを知らずに入力することなく起動できるマシン上の実行可能プログラム*のディレクトリを指定します。(またはWindowsでは、[スタート]メニューの[ 実行 ]ダイアログまたは+ R)。
LinuxおよびMac OS Xでは、通常、現在のユーザーに関連するすべてbin
とsbin
ディレクトリが保持されます。Windowsでは、それが含まれている少なくともC:\Windows
やC:\Windows\system32
ディレクトリ-あなたができる理由です実行し calc.exe
たりnotepad.exe
、コマンドラインまたはからファイル名を指定して実行 ]ダイアログではなくfirefox.exe
。(FirefoxはにありC:\Program Files\Mozilla Firefox
ます。Firefoxを含める方法については、こちらをご覧ください。)
たとえば、Windowsのコマンドラインにcalc
(省略.exe
可能)と入力すると、Windows Calculatorが起動します。
* .exe
編集以外のファイル拡張子のサポートを追加できます%PATHEXT%
。
その他
他の変数は、どの種類の端末が使用されているか(TERM
Linux / Mac OS Xの場合)、またはWindowsでWindowsフォルダーが置かれている場所(例:%WINDIR%
is C:\Windows
)をプログラムに伝える場合があります。
新しい環境変数の作成
Windows、Linux、およびUnixでは、新しい環境変数を作成して、その値を起動時にすべてのプログラムで使用できるようにすることができます。
これは、複数のマシンにインストールまたはデプロイされ、これらのマシンに固有の値を参照する必要があるスクリプトまたはプログラムを作成するときに使用できます。プログラム固有の構成設定を使用して同様の効果を実現できますが、複数のプログラムが同じ値にアクセスする必要がある場合は、環境変数を使用してこれを行う方が簡単です。
窓
GUI
オープンControl Panel » System » Advanced » Environment Variables
。
control sysdm.cpl,,3
[実行]ダイアログ(+ R)に入力して[OK] をクリックしますEnvironment Variables
。
ユーザー変数を編集するには、次のように入力することもできます
%windir%\System32\rundll32.exe sysdm.cpl,EditEnvironmentVariables
実行ダイアログで。
(マイ)コンピューターを右クリックして[プロパティ]をクリックするか、単に+を押しBreakます。
- XPでをクリックし
Advanced » Environment Variables
ます。
- Vista +でをクリックし
Advanced system settings » Environment Variables
ます。
[スタート]メニュー/画面の検索ボックスに「環境変数」と入力するなど、同じ場所に到達する方法は他にもたくさんあります。
Windowsの環境変数は、ユーザー固有の値とマシン/システム固有の値に分けられます。そこで値を表示および編集できます。起動時の現在の値は、すべてのプログラムで利用できます。
Rapid Environment Editorもあります。これは、システム設定に深く入り込むことなく、Windowsで環境変数を設定および変更するのに役立ちます。パス環境を非常に便利に編集できるWindows用のもう1つのオープンソースプログラムは、パスエディタです。
コマンドライン
フォーマット
Windowsの環境変数は、名前を囲むパーセント記号(%)で示されます。
%name%
エコー
で環境変数の値を表示するにはcmd.exe
、と入力しecho %name%
ます。
C:\>echo %USERPROFILE%
C:\Users\Daniel
セットする
変数を作成/設定するには、次を使用しますset varname=value
。
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
変数を追加/追加するには、次を使用しますset varname=value;%varname%
。
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
この方法で設定された環境変数は、それらが設定されているコマンドプロンプトプロセスの期間中に使用でき、変数が設定された後に開始されたプロセスで使用できます。
setx
するために作成/設定変数を恒久的に、使用しますsetx varname "value"
:
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
とは異なりset
、等号はなく、値にスペースが含まれる場合は値を引用符で囲む必要があります。変数はスペースを含む文字列に展開される可能性がある(たとえば、に%PATH%
なるC:\Program Files
)ので、変数を含む値を引用符で囲むのが最適であることに注意してください。
setx
Vistaより前のバージョンのWindowsに手動で追加する必要があります。
Windows XP Service Pack 2サポートツール
Windows環境変数のリスト
以下は、Windowsに組み込まれているデフォルトの環境変数のリストです。いくつかの例は次のとおりです。
%WINDIR%
、%SystemRoot%
、%USERPROFILE%
、と%APPDATA%
。Windowsのほとんどの名前と同様に、これらは大文字と小文字を区別しません。
Unix派生物(FreeBSD、GNU / Linux、OS X)
Linuxの環境変数には、$ HOMEや$ HOSTNAMEなどのドル記号($)の接頭辞が付いています。多くのよく知られている標準変数は、それを示すために大文字で綴られています。変数名では大文字と小文字が区別されることに注意してください。つまり、$ Userと$ USERはシェルの観点からはまったく無関係です。
Unix派生物は、主に/etc
フォルダーにあるシェルスクリプトでシステム全体の変数を定義しますが、ユーザー固有の値は、ホームフォルダーにあるスクリプトの変数(たとえば/etc/profile
、$HOME/.bash_profile
)に与えることができます。.profile
ホームフォルダー内のファイルは、ユーザー変数を定義する一般的な場所です。
変数を設定する
これらのファイルは通常のシェルスクリプトであり、単なる環境変数の宣言以上のものを含めることができます。環境変数を設定するには、を使用しますexport
。現在定義されている環境変数を端末に表示するには、を実行しenv
ます。
このexport
コマンドは、変数を定義する標準的な方法です。構文は非常に直感的です。結果はこれら2つの行で同じですが、POSIX Bourne以前のシェルへの移植性が必要な場合は、最初の選択肢が望ましいです。
var=value; export var
export var=value
Cシェルとその子孫は、まったく異なる構文を使用します。そこでは、コマンドはsetenv
です。
このトピックに関する詳細な議論については、LinuxドキュメントプロジェクトのPath HOWTOを参照してください。
おそらく一般的な考えに反して、OS XはLinuxよりも「Unix」です。前述のファイルに加えて、これらのファイルで$ PATHを変更できます。
/etc/paths
/bin
およびのようなパスに追加されるすべてのデフォルトディレクトリが含まれます/usr/sbin
。
- 任意のファイル
/etc/paths.d
—通常、インストーラーは、システム全体またはユーザー固有の構成ファイルに触れることなく、提供する実行可能ファイルをシェルから使用可能にするためにインストーラーによって使用されます。これらのファイルには、1行に1つのパスが含まれているだけです。たとえば、/ Programs / Mozilla / Calendar / bin。
外部リンク:
XPの環境変数
Windows XP Service Pack 2サポートツール(含むsetx
)
Windows VistaおよびWindows 7の環境変数[
実行]ダイアログボックスへの実行可能ファイルの追加
Mac OSXヒント-環境変数の設定
TLDP:Path Howto