OSX の /etc/paths は変数展開してくれない。

OSXの起動時環境変数などの設定シーケンスはデフォルトのbashの場合だと

1. /etc/profile

2. /usr/libexec/path_helper

3. /etc/bashrc

の順になっていて、MacPortszshに変えたりすると

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

になってします。使い勝っていまいち。