コンソール操作で覚えておきたいこと。環境変数編。
環境変数とはシステム全体で使用することのできる変数のことです。
変数はスコープという変数の適用される範囲がありますが、環境変数とはOS全体で利用される変数で、 コマンドラインで操作している限りはどこからでもその変数を参照することができます。
代表的な環境変数
環境変数という概念はWIndows, Mac, LinuxなどなどそれぞれのOSで共通の概念でどのOSでも同様な機能を持っています。
特にLinuxやMacを例にとると代表的な環境変数は$HOMEや$PATH, $PWDなどです。今Macをお持ちならターミナルを開いてみて次のコマンドを打ってみてください。
$echo $HOME
/Users/admin
システム上でHOMEという環境変数にはユーザのホームディレクトリが表示されるようになっています。
同様に、
$ echo $PWD
/Users/admin/webnari
とすると現在のディレクトリ(カレントディレクトリ)がPWDという環境変数にセットされていることがわかります。
環境変数の宣言
システムによってあらかじめセットされている環境変数もありますが、環境変数はコマンドで書き換えたり新たな環境変数を宣言することができます。
環境変数を宣言するにはexportコマンドを使用します。
$export HOGE="hoge"
$ echo $HOGE
hoge
例では、HOGEという変数に文字列をセットしています。exportコマンドで環境変数を宣言した後には、 echoコマンドで$HOGEという環境変数がセットされていることがわかります。
macの場合は、以下のexportコマンドの-pオプションで環境変数の一覧を確認できます。
$ export -p
環境変数PATH
ここまでは環境変数の説明をしていましたが、環境変数の中でも大事な変数のひとつに PATHというものがあるので、そちらについて説明していきます。
PATHは、システムで使用するコマンドが格納されているディレクトリを設定します。ご自分のパソコンで さきほどと同じようにPATHをechoコマンドで出力させるとわかるのですがいくつかのディレクトリが:(コロン)で区切られて設定されているのがわかります。
この環境変数のPATHにディレクトリを設定しておくと、そこの直下にあるコマンドは絶対パス指定でなくコマンド単体の指定で実行することができます。
環境構築を行う場面では、PATHに新たなディレクトリを追加することがありますが、その場合は以下のようにパスを追加します。
export PATH="/your/add/path:$PATH"
注意点としてはPATHを設定する場合に元々の$PATHも含めて設定することです。 これを行わないと$PATHを上書きしてしまうので、他の部分で不具合がでてきます。
まとめ
- 環境変数はシステム全体で使われる変数
- 環境変数を宣言するときはexportコマンドを使用
- 環境変数PATHを設定すると絶対パスを指定せずにスクリプトが実行可能になる