我希望能够ssh到服务器,在获得通常的交互式会话之前,我无法修改配置文件并使用多个命令设置环境。
有什么想法吗?
我一直在使用带有“交互”命令的expect脚本 - 这适用于大多数事情,但是笨拙并打破了一些控制台应用程序。还有空洞的期待和社交。还有其他建议吗?
答案 0 :(得分:1)
如果你能够在文件系统上的某个地方写,你可以用这样的自定义rc文件调用bash:
ssh me@example.com -t bash --rcfile /home/user/my_private_profile -i
请注意,这似乎仅适用于交互式shell,而不适用于登录shell。即使您正在指定命令,ssh的-t
选项也会使其分配pty。
如果无法在任何地方写入文件系统,可以使用子shell将命名管道作为rcfile提供:
$ ssh ares -t "bash --rcfile <(echo 'FOO=foo';echo 'BAR=bar') -i"
axa@ares:~$ echo $FOO
foo
axa@ares:~$ echo $BAR
bar