.bashrc和.bash_profile之间的不一样

区分二者之间的区别,首先要搞清楚login shellno-login shell之间的区别。html

login shell

当你经过终端输入用户名和密码,而后进入到terminal,这时候进入的shell环境就叫作是login shell,例如,经过ssh远程进入到主机。shell

no-login shell

顾名思义就是不须要输入用户名密码而进入的shell环境,例如你已经登录了你的桌面电脑,这时候在应用管理器中找到termianl图标,而后双击打开终端,也就是经过像gnome,KDE这种桌面环境而进入的终端,这时候你进入的shell环境就是所谓的no-login shell环境。简而言之,就是把你想经过login shell运行的shell命令放入到.bash_profile中,把想经过no-login shell运行的shell命令放入到.bashrc文件中。bash

例外

有一个例外就是在Mac OS系统中,当你每次运行termianl的时候,系统都会默认的给你运行一个login shell环境,因此你看到在Mac OS系统中~/目录下只有一个.bash_profile文件而没有.bashrc文件,就是这个道理了。ssh

如何同时使用两个文件?

那么若是我在Mac OS系统中也想把一些shell命令放到.bashrc文件中呢?固然不推荐这么作,也没什么意义,那么你能够建立一个.bashrc的文件。而后在.bash_profile文件中写上以下代码:code

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

在terminal读取.bash_profile文件后就会load.bashrc文件中的内容。htm

原文连接terminal

相关文章
相关标签/搜索