「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

環境変数

pointこの用語のポイント

pointOSが持っている変数だよ

pointみんなで一緒に使えるよ

スポンサーリンク

簡単に書くよ

環境変数(読:カンキョウヘンスウ 英:environment variable)とは

コンピュータさんが持っている、値を入れておく箱(変数)
もう少し具体的に書くと

コンピュータの人格に相当するソフト(OS)が動いているときに使える変数
であり

すべてのプログラムで一緒に使える「みんなで仲良く使ってね~」な変数
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「OS」と「変数」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

OSは「パソコンさんの人格に相当するソフト」です。
パソコンさんは中にOSを入れることで、はじめてパソコンとしての お仕事が できます。
「これが無いとパソコンじゃねーよ」な基本ソフトです。

環境変数

※「OS」という用語が世間に広まった きっかけがパソコンなので「パソコン」と書きましたが、スマホや その他のコンピュータ類でも同じです。

変数は「プログラミング言語における『値を入れておく箱』」です。
今回はプログラミング言語うんぬんは気にしないでください。
とにかく「値を入れておく箱」です。

環境変数2

以上を踏まえて、OSの持ち物で、

OSが動いているときに使える変数

が「環境変数」です。

「OSが動いているとき」は言い換えると「コンピュータが動いているとき」です。
環境変数は

コンピュータの持ち物で、コンピュータが動いているときに使える変数

とも言えます。

環境変数3

コンピュータさんが持っている環境変数は1つでは ありません。
いろいろな名前の箱を たくさん持っています。

環境変数4

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」という値が入っていることを意味します。

環境変数5

「COMPUTERNAME」は、その名の通り、コンピュータ名を入れておく箱です。
箱「COMPUTERNAME」に値「PIYOTA-PC」が入っています。
このことから、私のパソコンのコンピュータ名は「PIYOTA-PC」だと分かります。

さて、この箱ですが、コンピュータ(正確にはOS)が持っているものです。

コンピュータさんは懐が深いやつです。
ケチケチしません。
誰かに「ねーねー。この箱の中身は何?」と聞かれたら教えてあげます。
すべてのプログラムに対して平等です。

ピヨ太プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『PIYOTA-PC』だよ」と教えてあげます。

環境変数6

ピヨ子プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『PIYOTA-PC』だよ」と教えてあげます。

環境変数7

環境変数に設定されている値は、すべてのプログラムで使えるのです。

例えば、画面のどこかにコンピュータ名を表示しているプログラムでは、環境変数「COMPUTERNAME」の中身を見て表示しているはずです。

環境変数は見るだけでは ありません。
中身を変更したり、環境変数自体を追加・削除することもできます。

環境変数を変更する方法は、大きく分けて2つあります。

1.コンピュータの設定を変える
2.プログラムの中から設定する


の2つです。

1.コンピュータの設定を変える

は、変更した内容がずっと残るやり方です。

例えば、環境変数「COMPUTERNAME」の中身を「PIYOTA-PC」から「AKUMA-PC」に変えたとしましょう。

環境変数8

そうすると、本当の意味で箱の中身が置き換わります。

コンピュータさんは、ピヨ太プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『AKUMA-PC』だよ」と教えてあげます。

環境変数9

ピヨ子プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『AKUMA-PC』だよ」と教えてあげます。

環境変数10

すべてのプログラムにとって、箱「COMPUTERNAME」の中身が置き換わりました。

もう一方の

2.プログラムの中から設定する

は、変更した内容が残らないやり方です。

例えば、アクマ君プログラムが環境変数「COMPUTERNAME」の中身を「PIYOTA-PC」から「AKUMA-PC」に変えたとしましょう。

環境変数11

そうすると、アクマ君プログラムにとっては箱の中身が置き換わります。
それ以外のプログラムにとっては置き換わりません。

コンピュータさんは、アクマ君プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『AKUMA-PC』だよ」と教えてあげます。

環境変数12

ピヨ太プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『PIYOTA-PC』だよ」と教えてあげます。

環境変数13

ピヨ子プログラムから「箱『COMPUTERNAME』の中身は何?」と聞かれたら「『PIYOTA-PC』だよ」と教えてあげます。

環境変数14

アクマ君プログラムにとって、箱「COMPUTERNAME」の中身が置き換わりました。
それ以外のプログラムにとっては置き換わっていません。
アクマ君プログラムが終了すれば、最初の状態と何も変わりない状態に戻ります。

その気になれば、プログラムの中から設定して、箱の中身をずっと置き換えることもできますけどね。
よく分からないうちは

1.コンピュータの設定を変える→みんなに影響あり
2.プログラムの中から設定する→そのプログラムにだけ影響あり


と覚えておけば良いと思います。


image piyo2

一言でまとめるよ

まぁ「環境変数」って単語が出てきたら「コンピュータさんが持っている変数(値を入れておく箱)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像030
書籍画像054

おまけ



書籍画像
わわわ説明術コラム
宣伝だよ
優れたエンジニアがコミュニティの中でしていること
実務で役立つ バックアップの教科書 基本の考え方からツール活用・差分管理・世代管理・データ保全・リストア・リカバリー・可用性の確保まで
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本