OSX の /etc/paths は変数展開してくれない。
OSXの起動時環境変数などの設定シーケンスはデフォルトのbashの場合だと
1. /etc/profile
↓
2. /usr/libexec/path_helper
↓
3. /etc/bashrc
1. /etc/profile
↓
2. /usr/libexec/path_helper
↓
3. /opt/local/etc/zshenv
↓
4. /opt/local/etc/zprofile
みたいになるらしいんだが、いずれでも実行される
2. /usr/libexec/path_helper
で、/etc/pathsというファイルを読みこんで、そこに書いてある文字列を全て環境変数 PATH に
突っこんでくれる。
ただ、このpathsファイルの書式がなかなか素晴しく、1行を一つの値として、":" で連結してくれるのは
いいんだけど、例えば、
$JAVA_HOME/bin
$JRUBY_HOME/bin
/opt/local/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
とか書いても $JAVA_HOME のようなシェル変数は展開してくれず、そのまま
$JAVA_HOME/bin:$JRUBY_HOME/bin:/opt/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
のようになる。ちなみにコメントも有効ではなく
#/usr/bin
/bin
/usr/sbin
/sbin
だと、
#/usr/bin:/bin:/usr/sbin:/sbin
になってします。使い勝っていまいち。