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 自动安装,无实际设置)。
Tue, 25 Nov 2014 09:49:36 +0800
test for fade.