【发布时间】:2021-03-01 17:54:28
【问题描述】:
我需要:
- ssh 到远程服务器(目前我使用 paramiko.SSHClient)
- 对于运行一组后续命令/脚本所需的会话集环境变量
- 运行命令/脚本。
我的环境设置对于那个会话来说是临时的,所以我想修改~/.ssh/environment 不是一个选项。
服务器也受密码保护,所以我猜 subprocess.Popen(ssh) 也是不可能的?再说一次,我还在尝试,请纠正我。
我试过没有成功:
a. ssh.exec_command(env_export_commands)
b. ssh.exec_command(command=dummy,environment=env_export_commands_dictionary).
但在上述任何一项之后,我仍然在 'env' 中看到旧值。 非常感谢任何指向我所缺少的内容的指针。
【问题讨论】:
-
了解到每个 exec_command 在不同的 shell 中执行,因此设置和检查 env(或使用新设置的 env 变量的任何其他命令)需要在单个 exec_command command_set = "export env1=值1;环境;" + script_using_env 标准输入、标准输出、标准错误 = ssh.exec_command(command_set)
标签: python shell ssh environment-variables