如何让 ssh 读取目标的“.bashrc”?

Mal*_*rba 5 linux ssh bash arch-linux

我有两台 Linux 计算机在工作,一台台式机和一台笔记本电脑,在 Arch Linux 下运行 Openssh。在我的标准登录下,​​我.bashrc在两台计算机上的主文件夹中都有一个自定义文件。

问题是:当我ssh进入桌面时,我看到了一个非常定制的 bash(意味着.bashrc文件已被读取)。当我ssh使用笔记本电脑时,会看到一个普通的灰色 bash,我必须手动运行exec bash(因此它会读取我的 custom .bashrc)。为什么?

我一定在其中一台计算机上配置了不同的东西,导致了差异,但我不知道是什么。在这两种情况下,我正在运行的 ssh 命令都很简单ssh username@host(带有干净的.ssh/config文件)。

注意:已经有一个问题询问如何使用您的.bashrcover ssh,我不是在问那个。我只想知道为什么其中一个主机在使用它,而另一个没有。

小智 7

是否.bash_profile(或.profile如果.bash_profile不存在)运行. .bashrcsource .bashrc在某个时候运行?如果没有,那么.bashrc在通过 登录时将不会使用您ssh,因为ssh总是将 bash 作为“登录”shell 启动.bashrc,默认情况下它永远不会读取。