tcshでpathを通す

macでシェルとしてtcshを使う必要があったのですが,あるディレクトリにpathを通すだけなのに恥ずかしながら大変時間がかかってしまったのでやり方をメモしておきます.だってbashしか使ったこと無かったんだもん*1

設定ファイルの場所

ホームフォルダ直下の .tcshrc が無難.
設定ファイルは以下の順番に読み込まれます.

  1. /etc/csh/cshrc
  2. /etc/csh.login
  3. ~/.tcshrc
  4. ~/.cshrc ただし,.tcshrcが存在していないときに限る
  5. ~/.history
  6. ~/.login
  7. ~/.cshdirs

注意すべきは.cshrcは.tcshrcが存在していないときにしか読み込まれないということです.ここで30分くらいはまりました….

設定ファイルの書き方

set pathset path = ( /usr/local/bin $path )
setenv PATH ${PATH}:/usr/local

いろいろ書き方はあるんでなんでもいいんですけど,最初からpathが通ってるところより優先させたい場合と,その逆の場合と,順番だけ気にすればいいんじゃないかな.とりあえずぐぐって出てきたこの2つともうまくいきました.

*1:ご存じの通りMac OS 10.2以前ではbashでなくtcshが標準だったわけですが,僕がMacを使い始めたのは最近ですので