Mac でパスを通す: 意味とパスの通し方

informatics/mac/path
2018/02/05 更新


  1. 「パスを通す」とはどういう意味なのか?
    • コマンドのある場所
    • コマンド検索パスの確認方法

  2. Mac でのパスの通し方
    • vi エディタで .bashrc ファイルを編集する
    • source コマンドで .bashrc を実行する

広告

「パスを通す」とはどういう意味なのか?

コマンドのある場所

Mac のターミナルでコマンドを実行する場合、通常は単にコマンドの文字列を記入して return キーを叩く。つまり


iMac:~ Hiro$ ls


のようにする。ここで iMac はパソコンの名前、~ がカレントフォルダ、Hiro はユーザー名、$ は「コマンドを打って下さい」の記号である。このあたりの説明は ターミナルのページ にある。

これによって ls コマンドが無事に実行されるのは、ls コマンドが格納されている場所 (つまり ls のパス path) がデフォルトで記憶されているためである。


iMac:~ Hiro$ which ls


としてみよう。/bin/ls という答えが返ってくるはず。which はコマンドのパスを表示するので、ls というコマンドの本体は /bin というディレクトリに格納されている ls というファイルであるということになる。

よって、次のようにタイプしても ls コマンドは実行される。


iMac:~ Hiro$ /bin/ls



もう少し正確な用語を使うと、ターミナルはアプリケーションであり、その中で動いているプログラムはシェルという (1)。また、ls などの「本体」は実行ファイルという。コマンドが入力されたときに、シェルが実行ファイルを探しに行く場所を コマンド検索パス という (2)。

これらの用語を使うと、「パスを通す」は次のように説明できる。

パスを通すとは、コマンド検索パスを追加すること である。

新しいコマンドをインストールしたときに行う必要がある。コマンドによっては、パスを自動的に通してくれる場合もある。



コマンド検索パスの確認方法

コマンド検索パスは、$PATH という環境変数に設定されている (2)。


iMac:~ Hiro$ echo $PATH


で、コロンで区切られた形で表示される。私の Mac の場合は次のようになった。2 行に分けて記載。


/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin: /opt/X11/bin:/Library/TeX/texbin


/usr/local/bin や /usr/bin はデフォルトのコマンド検索パス。X11 や Tex をインストールしたときに、自動的にパスが通されていたと思われる。一方、cap3blast をインストールしたときには path を通していなかった。

なお、同じ名前のコマンドがこの複数のコマンド検索パスにあるときは、リストの左側が優先されるようだ (2)。


広告

パスの通し方

ホームフォルダに .bashrc というファイルを作り、そこにコマンド検索パスを追加する命令を書くという作業になる。基礎知識がないと意外と大変である。

vi エディタ というターミナル上で動くテキストエディタを使うが、この vi エディタが、慣れるまでは実に使いにくい。使い方は vi エディタとシェルスクリプトのページ にまとめる。ここでは、vi エディタをある程度使えることを前提に説明する。


vi エディタで .bashrc ファイルを編集する

まず .bashrc というファイルを作る。


iMac:~ Hiro$ vi .bashrc


これは .bashrc というファイルを編集するコマンドだが、ファイルが存在しない場合は新規にファイルを作ってから編集モードに入る。編集モードで


export PATH=$PATH:追加したいパスその1
export PATH=$PATH:追加したいパスその2


のように .bashrc ファイルを編集し、Esc でコマンドモードへ抜ける。ここで :wq とすると、「保存して終了」となる。

export は、環境変数を表示および設定できるコマンド (3)。cat で .bashrc の中身を確認できる。


source で .bashrc を実行

最後に、.bashrc に書き込んだ内容を実行する必要がある。

簡単な方法は


iMac:~ Hiro$ source .bashrc


とすればよい。これを実行した後に echo $PATH とすると、パスが追加されていることが確認できるだろう。

この方法だと、ターミナルを起動したあとに毎回 source を実行しなければならない。.bash_profile というファイルを作り、そこに .bashrc を実行する命令を書き込めば、ターミナル起動時に自動でできるようになる。

ここ5 に .bash_profile の内容が書いてあったが、-f というコマンドがないというエラーが返ってきてしまう。とりあえずは毎回 source .bashrc を実行することにする。


広告

コメント欄

一言コメントをどうぞ! (基本500字まで - 100字のページもあるかも)


このコメント欄は各ページにあるので、いつ管理人がコメントを見ることになるのか分かりません。内容について質問がある場合は、下のリンク先のフォームから質問頂ければ、早めに返信するようにします。


References

  1. シェルとは. Link: Last access 2018/02/05.
  2. PATH を通すとは? (Mac OS X)Link: Last access 2018/02/05.
  3. PATHを通すために環境変数の設定を理解する (Mac OS X)Link: Last access 2018/02/05.
  4. Last access 2018/02/05.
  5. Last access 2018/02/05.