区分两者之间的区别,首先要搞清楚login shell和no-login shell之间的区别。
login shell
当你通过终端输入用户名和密码,然后进入到terminal,这时候进入的shell环境就叫做是login shell,例如,通过ssh远程进入到主机。
no-login shell
顾名思义就是不需要输入用户名密码而进入的shell环境,例如你已经登陆了你的桌面电脑,这时候在应用管理器中找到termianl图标,然后双击打开终端,也就是通过像gnome,KDE这种桌面环境而进入的终端,这时候你进入的shell环境就是所谓的no-login shell环境。
简而言之,就是把你想通过login shell运行的shell命令放入到.bash_profile中,把想通过no-login shell运行的shell命令放入到.bashrc文件中。