.bashrc
我在公司有两台 Linux 电脑,一台台式机和一台笔记本电脑,它们在 Arch Linux 下运行 Openssh。在我的标准登录下,两台电脑的主文件夹中都有一个自定义文件。
问题是:当我ssh
进入桌面时,我会看到一个非常自定义的 bash(这意味着.bashrc
文件已被读取)。当我ssh
进入笔记本电脑时,我会看到一个普通的灰色 bash,我必须手动运行exec bash
(这样它才会读取我的自定义.bashrc
)。为什么?
我肯定在其中一台计算机上配置了某些不同的东西,导致了这种差异,但我搞不清楚是什么。在这两种情况下,我运行的 ssh 命令都很简单ssh username@host
(带有一个干净的.ssh/config
文件)。
注意:已经有一个问题询问如何使用你的.bashrc
ssh,我不是在问这个。我只是想知道为什么其中一台主机正在使用它,但另一台没有。
答案1
.bash_profile
(或.profile
如果.bash_profile
不存在)是否在某个时刻运行. .bashrc
或source .bashrc
?如果没有,则.bashrc
在通过登录时将不会被使用ssh
,因为ssh
总是将 bash 启动为“登录”shell,.bashrc
默认情况下它永远不会读取。