[目次] [前章] [次章]

5.環境変数とシェル変数

変数のセット


まず、シェル変数と環境変数の違いを説明します。
シェル変数は、セットされたそのシェルのみで使える変数ですが、
環境変数は、セットされたシェルから作られたシェルからでも使えます。
例えば、以下の例を見れば分かると思います。

環境変数とシェル変数の違い

つまり、環境変数Aは、生成された新しいシェルに受け継がれているのに対して、
シェル変数aは、受け継がれていないということです。

上の例を見てもらえば分かるように、変数のセットは以下のように行います。
シェル変数:set (変数名)=(値)
環境変数:setenv (変数名) (値)
これで、種々の変数をセットできますね。

変数の参照


変数は、echoコマンドで参照することが出来ます。
例えばhistoryシェル変数を参照するには、
echo $history
でOKです。
環境変数についても同様で、
echo $PATH
などとすればOKです。

その他の手段として、環境変数にはprintenv、env、
シェル変数には、setコマンドがあります。
それぞれ、現在セットされている変数の一覧を表示します。
これを応用して、
set | grep (シェル変数名)
printenv | grep (環境変数名)
などとすれば、特定の変数がセットされているか、値は何かが分かります。

特殊な変数


定義済みの変数はいろいろありますが、特によく使うのが、
PATH環境変数でしょう。
この変数は、実行ファイルが格納されているディレクトリを指定することで、
本来なら絶対パスで起動しなければならないところを、相対パス(コマンド名)だけで
起動することができるようになります。
セットの仕方は、
setenv PATH path(1):path(2):path(3):....:path(n)
といたってシンプルで、各パスをコロンで区切るだけです。
具体的には、
setenv PATH .:/bin:/usr/bin/:/usr/local/bin
これは、カレントディレクトリ、/bin、/usr/bin、/usr/local/bin
それぞれにパスを張ったということになります。

[目次] [前章] [次章]