安装redhat9后,把默认的bshell改为了cshell启动,但是每次启动后它并没有执行/home目录下的.cshrc文件,为什么?
原因是tcsh.这是一个加强的csh.目前大多数系统的csh都使用这个shell代替原来的csh.
因为tcsh提供了老的csh没有的命令补全和命令行编辑功能。
/bin/csh实际上是/bin/tcsh的符号连接。
这样一来,登录时:
首先寻找并执行/etc/csh.cshrc 和 /etc/csh.login
然后是寻找home目录的 ~/.tcshrc
如果找不到则寻找并执行home目录的 ~/.cshrc ------- 注意
如果找到则只执行~/.tcshrc ------- 注意
所以为了执行~/.cshrc 你需要删除~/.tcshrc,或移动内容到~/.tcshrc。
REF:http://bbs.csdn.net/topics/90272144