シェルに限らず,全てのプログラムは環境変数と呼ばれる変数を持っています.この環境変数の値によって,シェルの動作を変えることができます.
環境変数の見方
まず,環境変数の一覧を見るには printenv コマンドを用います.
変数名の前に $ をつけることで特定の環境変数の値を参照することができます. echo コマンドのパラメータにすることでこの値を見ることができます.
さて,環境変数の使い方を見てみましょう.たとえば, LANG という環境変数は, デフォルトで用いる言語を設定するために用います.LANG の値に ja_JP.eucJP を設定すると日本語を日本語 EUC の文字コードで利用する設定になります.これらの環境変数は,シェル内で走らせる各プログラムの中から参照できます.したがってシェルで適切な環境変数を設定しておけば,そこから起動されたプログラムはその環境変数を用いて適切な動作をすることができます.
環境変数の設定
環境変数の設定には export というコマンドを用います.
シェルは各ターミナルウィンドウごとに走っていることに注意してください. 一つのシェルで環境変数を設定しても, 他のターミナルウィンドウのシェルの環境変数には影響がありません. ログインのたびにすべてのシェルで環境変数に特定の初期値を設定する方法は,25.3 初期設定ファイルのところで学びます.
よく用いる環境変数をいくつか書いておきます.
変数名 | 意味 | 関連項目 |
---|---|---|
HOME | ホームディレクトリの絶対パス名 | 14.4.1 ディレクトリ |
PATH | コマンドの検索パス | 14.4.5 パーミッションと実行ファイル |
PRINTER | 標準で用いるプリンタ | |
EDITOR | 用いるエディタの種類 | |
PAGER | 用いるページャの種類 | |
LANG | 用いる言語 | |
CLASSPATH | Java で用いるクラスファイルの検索パス |
シェル変数
環境変数と似たようなものにシェル変数というものがあります. シェル変数はその実行中のシェルのみに関係する変数で, シェルから起動したプログラムには影響を与えません, シェルの動作を変えたりする時に用いたり, あるいはシェルの情報を保持したりするのに用います.また,シェルスクリプトと呼ばれる小さなプログラムを書くときにも用います.
シェル変数の設定をするためには
例えば, [g999999@hostname dirname] $ という形のプロンプトを使う場合には
とします.
csh 系シェルの場合
csh や tcsh においては環境変数を設定するコマンドは export ではなく setenv となります.
として環境変数を設定します.
また,シェル変数の設定は set コマンドを用います.
csh や tcsh で用いられるシェル変数 path は,環境変数 PATH と連動します.