環境変数の設定と .bashrc と .bash_profile と .profile

最近のUbuntu GNU/Linuxでは、ログイン時に .bash_profile ではなく .profile が読み込まれるらしい。実際、Ubuntu 8.04 (Hardy Heron) をインストールした直後に自分のHOMEを見たところ、.bash_profile はなかった。お勧めの使い方は .profile で .bashrc を読み込み、個人的な設定は .bashrc で行うというもの。それに従って、
export PATH = /usr/local/teTeX/bin:$PATH;
と /usr/local/teTeX/bin にパスを通している。ターミナルから which platex とかやると /usr/local/teTeX/bin/platex と表示されるので、パスが通っていることは間違いなく、実際、ターミナルからは platex hoge.tex とかでちゃんとプログラムが起動する。

ところが、エディターから platex を起動させようとすると、これが動作しない。しかたないので、フルパスを書いていた。これだと動作するのだ。今回、文字コードを判別しながら組版、PDF作成など一連の作業を行う自前の Perl スクリプトを作ったのだが、やはり system(“platex $texfile”) では platex を見つけられないようだった。仕方ないので、やはりフルパスを記述していた。

ふと思いついて、Perlが認識している環境変数を表示させてみた。スクリプトの最後に print(“PATH = $ENV{PATH}”) と書いて、環境変数PATHを表示させる。案の定、/usr/local/teTeX/bin は含まれていなかった。ううむ、何故なんだろう。

そこで、実験。試しに、直接 .profile の方に export PATH=/usr/local/teTeX/bin:$PATH; と書いてみた。おお、ちゃんとPerlも認識している。

結論。要は、見よう見まねに書いていた .profile と .bashrc あたりの設定が適切でなかったということですかね。きちんと勉強したい気もするが、そこまでの時間と余裕がない。とりあえず目的は果たしたということで、現状をメモするだけにしておこうか。

コメントを残す

メールアドレスが公開されることはありません。