iOS 7 为何要把“向右滑动删除”改为向左?
apr 16

今天在 Mac 下配置一个 Go Lang 的开发环境,我是使用 /bin/csh 作为默认 shell(爱上了其强大的历史命令回溯功能),所以需要将 $GOPATH 设置到 ~/.cshrc 文件里:

setenv GOPATH /export/projects/mygo
set path = ($path $GOPATH/bin)

设置后发现不能自动加载,即使重新启动系统也无效。每次需要手动 "source ~/.cshrc" 才能生效。

经过不断摸索和研究,发现这是由于我的 Home 目录下存在 .tcshrc 文件引起的问题。tcsh(MacOS 下的 csh 与 tcsh 相同)在登录、开启终端时会依照以下顺序读取配置文件:

  • /etc/csh.cshrc : Read first by every shell.
  • /etc/csh.login : Read by login shells after /etc/csh.cshrc.
  • ~/.tcshrc : Read by every shell after /etc/csh.cshrc.
  • ~/.cshrc : Read by every shell, if ~/.tcshrc doesn't exist.
  • ~/.history : Read by login shells after ~/.tcshrc if savehist is set, but see also histfile.
  • ~/.login : Read by login shells after ~/.tcshrc or ~/.history.

找到问题所在,将 ~/.tcshrc 文件移除即可(该文件是 Macports 自动安装,无实际设置)。

dirk 发表于 2014-04-16 Wednesday

1 Responses to “Mac OS X 下 /bin/csh 加载配置信息的完整顺序”

  1. dirk Says:1

    test for fade.


Comment »