SSH登录某机器后.bashrc配置的彩色提示符不生效求助
解决SSH登录时.bashrc配置不生效的问题
这种情况我碰到过好几次,核心问题大概率是SSH登录时bash是以login shell模式启动的,而login shell默认不会自动加载~/.bashrc——这就是为什么你手动执行配置行有效,但登录时不生效的原因。
具体排查和解决步骤:
- 首先检查你的用户主目录下有没有
~/.bash_profile或者~/.profile文件。因为当bash作为login shell启动时,它会优先读取这两个文件(顺序是先~/.bash_profile,如果不存在再读~/.profile),而不会自动去加载~/.bashrc。 - 如果这些文件存在,打开看看里面有没有调用
~/.bashrc的代码。正常应该有类似这样的内容:
如果没有,把这段代码加进去,保存后重新登录就能生效了。if [ -f ~/.bashrc ]; then . ~/.bashrc fi - 如果
~/.bash_profile不存在,直接创建一个,把上面的代码写进去就行。这样下次SSH登录时,login shell会先加载这个文件,然后通过它调用你的~/.bashrc,彩色提示符和xterm标题的设置自然就生效了。
补充说明:
你提到/etc/bash.bashrc和/etc/profile外观无异常,可以再确认下/etc/profile里有没有加载/etc/bash.bashrc的语句(比如if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc; fi),不过一般系统默认都会有这行,所以核心问题还是用户目录下的login shell配置文件没关联.bashrc。
内容的提问来源于stack exchange,提问作者emk2203
相关产品推荐
相关产品推荐

