2014年2月8日土曜日

MacTexのパス

MacTexを入れてみたら、/usr/texbinにPATHが通ったのだけど、これ、どこで設定しているのよ。というおはなし。

まずホームディレクトリにあるRCファイルには書かれていない。ここ書かれてたら、かなりエロいわな。で、調べていくと/etc/profileから呼ばれるpath_helperってのを利用している。ちなみに/etc/profileは、こんな感じ。

$ cat /etc/profile
# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
 eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
 [ -r /etc/bashrc ] && . /etc/bashrc
fi
で、path_helperが、どこから/usr/texbinなんて値を取ってきているかというと、/etc/paths.d/TeXってファイルがあるわけ。
$ cat /etc/paths.d/TeX 
/usr/texbin
これで無事PATHに/usr/texbinが設定されるということらしい。

ちなみに、zshの場合は/etc/profileは読まないんだけど、どうなるかというと、/etc/zshenvに書かれている。

$ cat /etc/zshenv 
# system-wide environment settings for zsh(1)
if [ -x /usr/libexec/path_helper ]; then
 eval `/usr/libexec/path_helper -s`
fi
でも、これbrewで入れたzshがいっこうに読んでなくて、、、結局zshを再インストールしたら直ったといういつものアレな感じ。