Diff of UNIX/コマンド/シェル・シェル組み込み/setenv


TITLE:setenv - 環境変数の設定
#navi(UNIX/コマンド)
#contentsx

環境変数を設定する、csh, tcsh 系の内部コマンドです。

環境変数とシェル変数の違いは、
シェル変数はそのシェルの中でのみ有効であるのに対し、
環境変数の場合は,そのシェルから起動されたプロセスにも受け継がれる点です。

例えば man は環境変数 PAGER という値を参照して起動するページャを決めます。
mnews は環境変数 NNTPSERVER という値を参照して接続する NNTP サーバーを決めます。
他にもいろいろありますし、自分でプログラムを作る際に、
環境変数を設定しておけばオプションで指定しなくてもいいというように
作ることもあるでしょう。
 % setenv
と実行すると現在設定されている環境変数一覧を参照できます。また、
 % printenv
でも環境変数一覧を参照できます。

設定方法は例えば、
 % setenv PAGER less
とすれば、変数 PAGER に less という値を設定できます。
こうしておくと、man のページャが less になります。
設定した変数は $ をつけて使います。
 % echo $PAGER
のようにします。
 % unsetenv PAGER
とすると変数をリセットすることができます。

*sh, bash 系 [#tbecce48]

ついでに sh, bash 系では
 % export PAGER=less
のようにして設定します。sh では英数字以外が入る場合は、
 % DISPLAY=localhost:0
 % export DISPLAY
のようにわけて実行しなければいけないようです。エラーがでました。
export というコマンドにより、シェル変数が環境変数(bash では export 変数とも呼びます)に昇華されます。

#navi(UNIX/コマンド,,footer,footer)
#navi(UNIX/コマンド,,footer)
xrea