環境変数
OSが持っている変数だよ
みんなで一緒に使えるよ
簡単に書くよ
環境変数(読:カンキョウヘンスウ 英:environment variable)とは
コンピュータさんが持っている、値を入れておく箱(変数)。
もう少し具体的に書くと
コンピュータの人格に相当するソフト(OS)が動いているときに使える変数
であり
すべてのプログラムで一緒に使える「みんなで仲良く使ってね~」な変数
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「OS」と「変数」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
OSは「パソコンさんの人格に相当するソフト」です。
パソコンさんは中にOSを入れることで、はじめてパソコンとしての お仕事が できます。
「これが無いとパソコンじゃねーよ」な基本ソフトです。
※「OS」という用語が世間に広まった きっかけがパソコンなので「パソコン」と書きましたが、スマホや その他のコンピュータ類でも同じです。
変数は「プログラミング言語における『値を入れておく箱』」です。
今回はプログラミング言語うんぬんは気にしないでください。
とにかく「値を入れておく箱」です。
以上を踏まえて、OSの持ち物で、
OSが動いているときに使える変数
が「環境変数」です。
「OSが動いているとき」は言い換えると「コンピュータが動いているとき」です。
環境変数は
コンピュータの持ち物で、コンピュータが動いているときに使える変数
とも言えます。
コンピュータさんが持っている環境変数は1つでは ありません。
いろいろな名前の箱を たくさん持っています。
Windowsを例に説明しますが、コマンドプロンプト(コンピュータに詳しい人が使う黒い画面)を開いて
set
と入力すると、例えば以下のような内容が表示されます。
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\piyota\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=PIYOTA-PC
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\piyota
LOCALAPPDATA=C:\Users\piyota\AppData\Local
LOGONSERVER=\\PIYOTA-PC
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\Windows\system32;
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 23 Stepping 10, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=170a
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\piyota\AppData\Local\Temp
TMP=C:\Users\piyota\AppData\Local\Temp
USERDOMAIN=piyota-work
USERNAME=piyota
USERPROFILE=C:\Users\piyota
windir=C:\Windows
少し見にくいかもしれませんが、すべての行に「=」がありますよね。
この「=」の左側が箱の名前です。
「=」の右側が箱に入っている値です。
例えば
COMPUTERNAME=PIYOTA-PC
という行があります。
これは「COMPUTERNAME」という箱に「PIYOTA-PC」という値が入っていることを意味します。
「COMPUTERNAME」は、その名の通り、コンピュータ名を入れておく箱です。
箱「COMPUTERNAME」に値「PIYOTA-PC」が入っています。
このことから、私のパソコンのコンピュータ名は「PIYOTA-PC」だと分かります。
さて、この箱ですが、コンピュータ(正確にはOS)が持っているものです。
コンピュータさんは懐が深いやつです。
ケチケチしません。
誰かに「ねーねー。この箱の中身は何?」と聞かれたら教えてあげます。
すべてのプログラムに対して平等です。
ピヨ太プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『PIYOTA-PC』だよ」と教えてあげます。
ピヨ子プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『PIYOTA-PC』だよ」と教えてあげます。
環境変数に設定されている値は、すべてのプログラムで使えるのです。
例えば、画面のどこかにコンピュータ名を表示しているプログラムでは、環境変数「COMPUTERNAME」の中身を見て表示しているはずです。
環境変数は見るだけでは ありません。
中身を変更したり、環境変数自体を追加・削除することもできます。
環境変数を変更する方法は、大きく分けて2つあります。
1.コンピュータの設定を変える
2.プログラムの中から設定する
の2つです。
1.コンピュータの設定を変える
は、変更した内容がずっと残るやり方です。
例えば、環境変数「COMPUTERNAME」の中身を「PIYOTA-PC」から「AKUMA-PC」に変えたとしましょう。
そうすると、本当の意味で箱の中身が置き換わります。
コンピュータさんは、ピヨ太プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『AKUMA-PC』だよ」と教えてあげます。
ピヨ子プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『AKUMA-PC』だよ」と教えてあげます。
すべてのプログラムにとって、箱「COMPUTERNAME」の中身が置き換わりました。
もう一方の
2.プログラムの中から設定する
は、変更した内容が残らないやり方です。
例えば、アクマ君プログラムが環境変数「COMPUTERNAME」の中身を「PIYOTA-PC」から「AKUMA-PC」に変えたとしましょう。
そうすると、アクマ君プログラムにとっては箱の中身が置き換わります。
それ以外のプログラムにとっては置き換わりません。
コンピュータさんは、アクマ君プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『AKUMA-PC』だよ」と教えてあげます。
ピヨ太プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『PIYOTA-PC』だよ」と教えてあげます。
ピヨ子プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『PIYOTA-PC』だよ」と教えてあげます。
アクマ君プログラムにとって、箱「COMPUTERNAME」の中身が置き換わりました。
それ以外のプログラムにとっては置き換わっていません。
アクマ君プログラムが終了すれば、最初の状態と何も変わりない状態に戻ります。
その気になれば、プログラムの中から設定して、箱の中身をずっと置き換えることもできますけどね。
よく分からないうちは
1.コンピュータの設定を変える→みんなに影響あり
2.プログラムの中から設定する→そのプログラムにだけ影響あり
と覚えておけば良いと思います。
一言でまとめるよ
まぁ「環境変数」って単語が出てきたら「コンピュータさんが持っている変数
(値を入れておく箱)なんだな~」と お考えください。






