大学でプログラミングを学んでいるものです。
最近プログラミング言語の環境開発のときによく「環境変数」とか「パスを通す」とかといった言葉をよく耳にします。そもそも環境変数とは何なのでしょうか?自分でもいろいろ調べてみましたが専門用語を使った説明が多く何を言っているのかさっぱりわかりません。そこで下記のことについてできるだけわかりやすく説明してくださると助かります。
0. 環境変数とは何か?
0. どういった場面で環境変数を利用する/利用されているのか?
0. pathを通すとは何か?
回答よろしくおねがいします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/02 11:05
2020/05/02 11:21
2020/05/02 11:39
2020/05/02 11:48
2020/05/02 11:57
回答3件
0
ベストアンサー
環境変数とは
変数の一種です。
変数とは
方程式に使うやつです。数学の変数にはだいたい数値が入っていますが、コンピューターサイエンスの変数にはそれ以外のデータも入り、数式以外にも使います。
環境変数の特徴
-
環境変数には文字列が入ります。
-
環境変数は OS によって管理され、その上で動く複数のソフトが共同で使います。
-
環境変数はコンピュータの電源を切っても初期化されません。
-
ユーザー毎に違う値が入っています。(Windows のシステム環境変数は全ユーザー共通です)
共同で使うとは
あるソフトがある環境変数に代入した値を、他のソフトが読んだり変更したりできます。
ただし、即時反映されるわけではありません。ソフトウェアは起動時に環境変数を読み込み(OS によって書き込まれるのでちょっと表現は微妙)、他のソフトが書き替えたとしても、再度読み込むまでは以前のものを使います。
環境変数を何に使うのか
用途は様々ですが、主にユーザーの好みの動作を記録しておいたり、特定のソフトの実行に必要な情報を保持したりします。
なぜ環境変数と言うのか
ソフトウェアが動作するにあたって影響のある、ディレクトリ構成やインストールされたソフトなどの情報をひっくるめて「動作環境」と言います。環境変数を使用して、ソフトウェアに環境の情報を提供するから、また環境設定に使用するからです。
PATH(パス)とは
数ある環境変数のうちの一つです。
環境変数ではないパス
パスは元々は小道という意味で、任意のファイルの位置の特定に使われます。例えば "C:\Program Files\PowerShell\7\pwsh.exe" のようにルートディレクトリ(ドライブ名:)からのパス(道)を使ってファイルを特定できます。「\」で始まるパスを絶対パスと言い、そうでないものを他のディレクトリからの相対パスと言います。「\」の前にドライブ名やコンピューター名がつくことがありますが、ルートディレクトリを考える時には、それは除いて考えます。
環境変数であるパス
環境変数 PATH には、複数のディレクトリへのパスを登録します。
環境変数パスの使い道
実行ファイルを実行するには、コマンドプロンプトから例えば "C:\Program Files\PowerShell\7\pwsh.exe" のように打ち込みます。しかし、いちいち長いパスを打ち込むのは面倒なので、実行ファイルがどこにあるかをあらかじめ PATH に登録します。それにより、pwsh.exe と打ち込むだけで "C:\Program Files\PowerShell\7\pwsh.exe" を起動することができるようになります。
パスを通すとは
環境変数 PATH に実行ファイルのあるディレクトリまでのパスを登録することです。PATH は各ディレクトリのパスをセミコロン区切りで並べます。OS はそれを順に探索して実行すべきファイルを探します。
パスの通し方
OS によって違います。
Windows 10 の場合は次を参考にしてください。
投稿2020/05/02 11:52
編集2020/05/02 12:50総合スコア28669
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/02 12:05
2020/05/02 12:06
2020/05/02 12:28 編集
2020/05/02 12:30
2020/05/02 12:59
0
こういう基本的なことが理解できないというのは、何が理解を妨げているのか、に合わせて説明をしないといけません。
普通に説明してもおそらく、今までの解説と同じく理解できないと思われます。
学生さんということで、教えてくれる人が居る訳なので、1対1で会話することをお勧めします。いまだとリモートでしょうけど、メールでも良いと思います。
取りあえず説明しておくと、
1.環境変数とは、プログラムの外からプログラムに情報を与える手段の一つです。他には、プログラム起動時のパラメーター、ファイルや端末からの入力など。
2.1に書いた他の方法と比較すると、環境変数は、複数のプログラムに同じような情報を与えたい場合によく使われます。わかりやすいのは言語設定。
Unix/Linuxだと、LANG=ja_JP.utf-8
とすると多くのプログラムがメッセージを日本語にします。LANG=en_US.utf-8
だと英語(米語)になります。
もちろん、特定のプログラムだけに影響する環境変数もあります。
3.GUIしか使ってないとぴんとこないとおもいますが、コマンドラインでプログラムを起動するには、プログラムの入ったファイル名の入力が必要です。
毎回、/usr/bin/vim
とか打つのは面倒なので、vim
とだけ打てば/usr/bin/vim
が起動するようにする仕組みがPATH
です。
ディレクトリを省略して名前だけ入力されたときに、PATH
に書かれたディレクトリを順番に探して最初に見つかったvim
を実行します。
「PATH
でファイルが検索できるようにする」ことを指して「PATH
を通す」というようです。
人間が打ったファイル名だけでなくて、プログラムからプログラムを起動する際にもPATH
が参照されます。つまり、多くのプログラムに共通した情報なので、環境変数が使われています。
<以下は理解しにくければ、一旦先送りでも良いです>
初心者が環境変数ではまりやすそうなこととしては、環境変数がプロセス毎の値だと言うことですね。起動中のあるプログラムXで環境変数を書き換えても、既に起動されているプログラムYの環境変数には影響しません。
プログラムXが新たに起動したプログラムZの環境変数の初期値が、その時点のXの環境変数のコピーが渡されるという風に関係します。Zの起動後はXとZの環境変数はそれぞれ別物です。
投稿2020/05/02 11:37
総合スコア85901
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/02 11:59
2020/05/02 12:16
2020/05/03 03:20
2020/05/03 03:38
2020/05/03 05:05
0
大学でプログラミングを学んでいるということですので
片手間の説明では納得されないと思いますので、少し詳しい説明となりますが、
下記の記事を参考にされるといいかと思います。
Qiita記事:Windows環境変数の超基本を理解する為のアプローチ
https://qiita.com/jeyei/items/2c385e4e0488a5fa2591
わかりやすくというのを忘れてました・・。無視してください。
簡単にいうと、プログラム言語の場所を環境変数で定義しておいて、pathを通すとは実際の
プログラム言語の実行環境(exe)の場所を設定するという意味でしょうか・・。
誰かに怒られそうなので、スルーしてください。
投稿2020/05/02 11:01
編集2020/05/02 11:05退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/05/02 11:18
退会済みユーザー
2020/05/02 11:20
退会済みユーザー
2020/05/02 12:08 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。