参考:作者:沙漠中的猴 https://www.jianshu.com/p/c4946024b946
这个问题困扰我很久,我明明改了~/.bashrc文件,重新通过ssh登录的时候每次我都要手动输入source ~/.bashrc,配置才会生效,很是头疼,于是我就研究了一下解决办法以及问题的原因是什么。
先说解决的方法,在家目录下的.bash_profile
文件中添加source ~/.bashrc
的信息:
#使用vim 打开
#vim ~/.bash_profile
if test -f ~/.bashrc ; then
source ~/.bashrc
fi
如果目录下没有,vim 也会自动生成。
接着,每次登陆shell 后它就会自动运行bashrc了。
原理部分,我也不太理解。
网络上的教程集中于讲解在二者non-login shell(bashrc),以及login shell(.bash_profile)上,然这似乎和二者在启动和读取设置上没有特别大的关系。
按照我的理解,bashrc 会在登陆shell 前就会运行相关配置,但这套配置跟后来自定义修改的有所不同,而运行在bashrc 之后的.bash_profile(只对个人用户而非整个linux 下的所有用户)则会运行,如果设定了source,则可以刷新新的bashrc 配置。
希望以后可以弄懂吧!