Dotfile 在当前 shell 中无法工作,需要新的

Dotfile 在当前 shell 中无法工作,需要新的

需要明确的是,这不是一个screen问题,我确信这是一个一般的 shell 问题。

在新的 Ubuntu 12.04 服务器上,我当前登录到一个终端,我想在其中screen使用自定义~/.screenrc文件运行命令。我scp将我的 .rc 文件复制到 Ubuntu 机器上并运行screen,但我可以看出它没有读取我的 .rc 文件。我在当前会话中尝试了几件事:

  1. /bin/bash然后运行screen
  2. sh然后screen
  3. source文件和其他奇怪的环境变量技巧

ssh通过在 Ubuntu 服务器中创建一个新会话并运行,可以轻松解决该问题screen,但我很好奇 - 在复制 .rc 文件之前,如何使 .rc 文件在我使用的原始终端中“工作”?

答案1

这不是一般的外壳问题。您启动的程序(例如screen)会在您启动它时读取其 .rc 文件 - 它不会尝试确定该文件是在您登录之前还是之后创建的。(而且它不能;Linux 没有合理的解释)。方法来检查文件的创建时间.)

所以事实并非如此。相反,它与登录会话有关。可能是(这无疑不是一个详尽的列表):

  • 您已经screen运行了,并且最终在现有的screen.
  • 您是susudo属于不同的用户(因此将 .rc 文件放在错误的主目录中)。
  • 环境很奇怪,例如,$HOME被设置为一些有趣的东西。请注意,有时susudo可能会导致这种情况,具体取决于。 (对于其他命令——我不认为screen使用它——它也可能是一个奇怪的$XDG_CONFIG_HOME。)
  • 权限错误。 (虽然可能不会,因为它在另一个登录上有效。)

当然还有各种“插好了吗?”错误,例如,其中一个连接连接到了错误的服务器。

相关内容