我有两个应该配置相同的Linux服务器,但是其中一个命令要求在〜/ .bashrc中指定路径的ssh命令失败。例如,我既可以pwd
交互方式也可以通过ssh 使用命令,但是如果我尝试运行位于应用程序bin文件夹中的程序,则该程序仅在其中一台服务器的交互式外壳程序中有效。
两台服务器上的/ etc / profile和/ etc / environment文件相同,但是在正常运行的服务器上,$ BASH_ENV设置为〜/ .bashrc。我想在不工作的服务器上设置$ BASH_ENV,但我希望将其设置在与工作服务器相同的位置。在非交互式登录(例如来自另一台计算机的ssh命令)时,Linux将在哪些位置运行?
编辑:/ etc / passwd中用户的行在两台服务器上都指定了/ bin / bash。两台服务器的〜/ .bash_profile文件是相同的,并且包含if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
。系统之间的唯一区别是$ BASH_ENV是服务器上不工作的空字符串,而且我找不到在工作中的服务器上设置的位置。
编辑2:两台服务器上的〜/ .ssh / environment文件具有BASH_ENV =〜/ .bashrc
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi