コマンドラインでecho $PATHと入力すると取得します
/opt/local/bin:/opt/local/sbin:/Users/andrew/bin:/usr/local/bin:/usr/local/mysql/bin:/usr/local/pear/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin
私の.bash_loginファイルが空なので、どこで設定されているのか気になります
特に気になるのは、MacPortsをインストールした後に、/optにジャンクの塊をインストールしてしまったことです。通常のMac OS Xのインストールでは、そのディレクトリは存在すらしないと思います
更新: jtimbermanさん、私のecho $PATH文を訂正してくれてありがとうございます
143 Andrew 2009-11-11
bashが起動すると、ログインするたびに以下のファイルが読み込まれます。OS Xでは、新しいTerminalウィンドウを開くたびに、以下のファイルを読み込みます
/etc/profile
~/.bash_profile
~/.bash_login (if .bash_profile does not exist)
~/.profile (if .bash_login does not exist)
コマンドラインでbashと入力して新しいシェルを起動すると、.bashrcと読み込まれます
また、OS Xでは~/.MacOSX/environment.plistを使って、必要に応じてパスを含むより多くの環境変数を設定しています
最後に、/etc/pathsと/etc/paths.dもシェルから読み込まれます
/opt/local/binなどは、MacPortsでは~/.tcshrcに追加されています。また、~/.cshrcにも注目してください
163 Steve Folly 2009-11-11
/etc/pathsが使用しているファイル/usr/libexec/path_helperが使用しているファイル/etc/profileを見てみましょう
MacPortsの場合は、sudo /etc/paths/opt/local/binを使用してターミナルウィンドウを開き直します
49 None 2009-12-30
真面目な話、Leopardがパスの追加方法を教えてくれました。追加したいパス部分を含むファイルを作成して、/etc/paths.d に置くだけ
1ステップで行う簡単な例としては
echo "/some/path/to/add" >> /etc/paths.d/somefilename
そうでなければ、/etc/paths.d に行って直接そこにファイルを置くことができます。いずれにしても、そのディレクトリ内のファイルのパス部分はデフォルトのパスに追加されます
これはマンパスにも有効です
詳細はこちらにリンクしています
ars technica: snow leopard で PATH に何かを追加するには?
2つ目の注意点: MacPortsは、Appleのものでは使用されないため、すべてのものを正確にoptディレクトリに入れています。そうすれば衝突しません。彼らのガイドには、なぜoptを使うのか、デフォルトを変更したい場合はどうすればいいのかが説明されています
25 leanne 2011-03-25
パスを表示するには、エコーで $PATH を指定します
echo $PATH
パスを設定するには、~/.bash_loginではなく~/.bash_profileを編集してください
4 jtimberman 2009-11-11
sshで決定されたパスもあります
echo $PATHとssh localhost 'echo $PATH'を比較してみてください。ssh は /etc/profile を読まないので、/usr/libexec/path_helper は実行されず、/etc/paths はスキップされます。次に ssh localhost 'source /etc/profile; echo $PATH' を試してみてください。パスが近くなるはずです。残りの違いは、おそらく .bash_profile (これも ssh でスキップされます) と .bashrc (これも ssh で読み込まれます) のパスが変更されたことによるものでしょう
ssh のパスを通常のターミナルのパスと同じようにしたい場合は、.bashrc に source /etc/profile を追加します
4 Keith Bentrup 2012-02-07
どちらかで定義することができます
- システム変数 –
/etc/paths - ユーザー変数 – @Steve Folly の説明を参照してください
2 ericn 2013-06-01
実際には、.bash_loginファイルの代わりに.profileファイルに保存されており、MacPortsでは.bash_loginファイルの代わりにこれを使用するのが一般的です
また、/optディレクトリは通常MacPortsによって作成され、そのファイルはこのフォルダに保存されます
1 ricbax 2009-11-11
docsについては、/usr/libexec/path_helperユーティリティの$PATHの初期コンポーネントは/etc/pathsから取得したもので、デフォルトでは以下のようになっています
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
OS-X Snow Leopard用
1 A B 2012-06-26


