Putty:登录,执行命令/更改环境变量,不关闭会话

Sim*_*ley 5 ssh bash command-line putty solaris

我想以一种可以登录远程主机的方式配置我的 PuTTY 会话,并且 (a) 启动 bash (b) 更改 PS1 变量(提示内容)(c) 继续在会话中正常工作。

我试过:

  1. 连接 -> 数据 -> 环境变量【不起作用;会话看起来好像 (b) 没有被执行]
  2. 连接 -> SSH -> 远程命令:PS1="some stuff" [会话窗口打开几分之一秒,然后关闭]

有任何想法吗?我在论坛上看过一些类似的问题,但没有发现任何有用的东西。

更一般地说:我登录到许多用户以单个用户身份登录的主机,因此他们都共享单个用户的“设置”。我正在寻找一种强制 PuTTY 临时更改其中一些设置的方法(即,它们将被时间限制为我使用 PuTTY 打开的会话)。在会话中运行个人版本的 .bashrc。希望这是有道理的。

ter*_*don 2

目标服务器需要配置为接受设置环境变量,第一个选项才能工作。第二个实际上工作正常,问题是它被设计为模仿

ssh user@foo command
Run Code Online (Sandbox Code Playgroud)

它只会连接、运行command并退出。您可以通过提供它来使其保持打开状态command; bash,但这不适用于设置变量,因为设置变量后将启动一个新的 shell。

因此,如果没有对服务器的根访问权限以便您可以启用环境变量的设置,我能想到的唯一方法就是编辑~/.bashrc 服务器并PS1在那里定义您的服务器。将此行添加到~/.bashrc

PS1="some stuff"
Run Code Online (Sandbox Code Playgroud)

现在,每次您登录该服务器时,都会为您设置提示。


另一种方法是为 bash 会话使用不同的 rcfile。使用以下行创建一个新文件:

source /etc/profile
source ~/.bashrc
PS1='some stuff'
Run Code Online (Sandbox Code Playgroud)

将其另存为,例如,,~/.myps1然后在 putty 设置中,将要在远程服务器上运行的命令设置为:

bash --rcfile ~/.myps1
Run Code Online (Sandbox Code Playgroud)

这将在远程服务器上打开一个新的 shell 会话并读取上面的文件,该文件首先读取.bashrc然后设置PS1