SSH 不读取 rc 文件

SSH 不读取 rc 文件

曾几何时,对host1类似的ssh 调用ssh u@host1 command会在执行之前读取 .bashrc commandhost2由同一群人管理,并且读取 .bashrc!

我没有管理host1host2,但在过去 6 个月的某个时候,这种行为似乎发生了变化。

现在看来登录时正在读取 rc 文件:我进行了编辑.profile, .bash_profile, .bashrc, .login,以便在读取时将其名称附加到变量中(export READ=$READ:.profile

结果让我很惊讶:

> ssh u@host1
bash3.2> echo $READ
:.bash_profile:.profile 

正如我所料。

> ssh u@host1 echo \$READ

>

所以现在我陷入困境。有什么建议可以解释为什么会发生这种情况吗?这是 SSHd 设置问题吗?

仅供参考:host2正在运行比 更旧的 OpenSSH 版本host1,并且两者都运行相同的 bash 版本。host1运行 AIX,host2运行 linux。

编辑:我无法更改ssh命令行,因为这里的目标是让git一些非超级用户能够正常工作,因为git(出于其他原因)安装在非标准路径上。与这个问题的关系是,由于git-unpack在中指定了的位置.bashrcgit clone因此从这个远程停止工作。因此需要修复 RC 问题,因为我正在尝试为非超级用户设置它,所以这git-clone -u不是一个令人满意的答案。

答案1

在这个特定的例子中,答案似乎(不幸的是)是有缺陷的软件(或者与链接的错误非常相似的错误)。

如果您控制该机器上的 bash,您可能能够通过重新编译 bash 来修复它#define SSH_SOURCE_BASHRC;但是对我来说情况并非如此,所以我只能寻找其他选择。

希望这能对某人有所帮助。

相关内容