[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:16041] Re: 環境変数の設定



>   例えば、.bashrcに環境変数の設定を入れてしまうと、意図的に別
> の環境変数を設定したbashからforkされたサブシェルでも環境変数が
> いつも.bashrcのものに従ってしまい、シェルスクリプトなどが予期
> せぬ動作を行うことがあるのではないかと思います。

そんなことはありません。bashが.bashrcを読むのは、対話的に起
動されたときだけです。シェルスクリプトを実行するときは、
BASH_ENVという変数がセットされていれば、その内容をファイル名
に持つファイルを読みます。

> という利用方法が推奨されていたと思いますので、.bashrcにはあま
> り環境変数の設定を入れないのが普通なのではないかと思っています。

昔はそんなことも言われましたが、X、特にxdmが一般的になるにつ
れ、ログインシェル用と、その他の対話的シェル用の初期化ファイ
ルを分けないのが常識になりました(と思います)。
# (あんな昔の)「続たのしいUNIX」にすらそう書かれていたような…。

ユーザと本当に対話したり、ttyをいじったりといったことは
~ /.bash_profileに書かなければなりませんが、その他はぜーんぶ
~ /.bashrcに書いておいて、~/.bash_profileが ~/.bashrcを . す
るのがオススメです。

-- 
川村 尚生