HomeBlog Page

Mac OS X でシェルのパスを通す

自分で作ったシェルスクリプトは ~/bin に置いておきたいのだが、デフォルトではパスが通っていないので使いにくい。しかし、パスを通す作業はたまにしかやらないので、毎度毎度毎度毎度忘れてしまう。いい加減嫌になってきたので、エントリとして残しておくことにした。ここでは、デフォルトのシェルとして bash を用いることを前提としている。


このエントリは「PATHの設定(PATHを通す)」を参考にした。参考というかほとんどそのままである。

1. パスの確認

今使っているシェルが、どこにパスが通っているのか確認するには、ターミナルを起動して、次のコマンドをタイプする。

printenv PATH

すると、こんなものが表示される(絶対にこの通りというわけではない)。

/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin

:は区切り文字で、/usr/local/bin と/bin と...にパスが通っていることを示している。ここに、/Users/(ユーザ名)/bin が追記されるようになれば良いわけだ。

2. 一時的にパスを通す

今使っているシェルに特定のパス(~/bin) を通したい場合は、下記コマンドをタイプする。

export PATH=$PATH:~/bin

これは、現在の PATH 値に右辺を代入、つまり、$PATH で表される既存のパスに~/bin を追加するという意味。試しに、上記を実行後、

printenv PATH

とタイプすれば、

/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/Users/(ユーザ名)/bin

と、~/bin が追加されていることがわかる。ただし、この方法はシェルを終了すると無効になる。

3. 自動的にパスを通す

シェルを起動するたびに上記パスを通すためには、シェル起動時に2.のコマンドが実行されればよい。bash が起動する時、ホームフォルダ直下にある .bash_profile に書かれているスクリプトを実行するので、ここに上記コマンドを書き込む。

ホームフォルダに移動して、

cd ~

.bash_profile を編集/無ければ新規作成する。いずれにせよ実行するコマンドは同じ。

vi .bash_profile

vi が使えるならそのまま 2. の

export PATH=$PATH:~/bin

を書き込む。無理ならいったん終了して(:qとタイプする)、mi や Jedit 等で編集する。ただし、改行コードは LF にしておくこと。また、.bash_profile は不可視ファイルなので、Jedit を用いる場合は option キーを押しながら「ファイル」メニューの「開く」を選択、mi を用いる場合は、「mi tools for pTeX」に同梱されている「不可視ファイルを開く」ツールを用いる必要がある。

以上により、次回起動時から ~/bin にパスが通るようになる。