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

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

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

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

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

注意:已经有一个问题询问如何使用你的.bashrcssh,我不是在问这个。我只是想知道为什么其中一台主机正在使用它,但另一台没有。

答案1

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

相关内容