windowsの環境変数はなんで別けてるの?
どうも、おはこんにちばんわマツケンです。
windows機で開発、もしくは使った事のある人なら一度や二度、
このOSのめんどくさい環境変数で苦戦した経験があるかと思います。
そう・・・私は今でもめんどくさいです。
環境変数ってなんなん?
そもそも論。
環境変数わかってない人。結構いますよね。
こんなこと書いて別に細かく説明するわけないですが
同じ現場にいた外人Sierさんが自端末の環境変数を丸ごと消した
時はさすがに 震えました 。
環境変数とは、システムがプログラムを認識するための場所を教えるためのもの。(フィーリングで答えました)
一つの環境変数は、変数名とその値をもち、通常「変数名=値」と表記する。 変数名は英数字とアンダースコアで構成される。 値は一般的にはとくに型や構造は定義されておらず、単なる文字列である(ただし、特定の環境変数は、それを解釈するプログラムによって値の構造が規定されていることがある)。
ふむふむ。説明めんどくせぇ。
windowsだと、だいたい変数値にはディレクトリへのパスが記述されてますね。
そのパスをたどってシステムがプログラムを特定したり認識したりする。
パスが英語だとpathなので「道」って感じでさりげ覚えやすい
変数値に数字とか文字列
環境変数って言っても、ディレクトリへのパスだけではなく
その先のプログラムに認識させる「データ」である場合も多い。
1とか2とか、よくわかんない文字列とかあるんじゃいかぐらい。
大分脱線しました。
一般ユーザとシステム環境変数について
の二つです。一人でパソコンを使用する分には全然問題ないですが
共有PCだったりしてたらめんどくさいことになりえます。
【画像①】
上記画像を見ていただくと、同じ環境変数JAVA_HOMEが
一般ユーザとシステムの両方に記述されてます。
が・・・実際に認識されているのは上の一般ユーザのほうです
【画像②】
続いてこちら、上の画像では一般ユーザのJAVA_HOMEを削除しました。
そしたらシステム環境変数のJAVA_HOMEを認識するようになっている・・
(´・ω・`)・・ ここはさりげなく落とし穴なのです。
とくに慣れていない人とか
だいたいアプリインストール時に勝手に環境変数とやってくれたりしてるんですが場合によっては見直す必要があるかもしれません。
うん、気を付けよう。