【发布时间】:2013-01-27 20:38:08
【问题描述】:
有谁知道如何注册环境变量 使用 SSHClient 时调用 exec_command?
我正在使用一个基本脚本来实例化 SSHClient 类,使用 connect 方法连接到另一台计算机,然后使用 exec_command 方法发送命令。但是,当我尝试发出命令时,似乎没有注册任何环境变量。我可以做一些基本的事情,比如“ls”并查看标准输出,但是在尝试运行已安装的程序时,缺少环境变量的事实使得无法运行它们。在命令行中使用 ssh 来做同样的事情,因为设置了用户的环境变量。
#!/usr/bin/python
import paramiko
ssh.connect('mymachine',username='myname',password='pass')
stdin,stdout,stderr=ssh.exec_command('cd /myfolder/path')
stdin,stdout,stderr=ssh.exec_command('ls')
....
....
ssh.close()
注意:我无法更改 paramiko 中的目录。我在单个ssh.exec_command('cd /dddd/ddd;ls') 的后续命令中附加了cd 命令。我以ls 为例,但我的实际后续命令不同。
【问题讨论】:
-
您是否尝试通过
os.environ添加它们? -
我也在寻找设置“TZ”环境变量:|如果
paramiko不支持,我们如何使用os.environ设置'TZ' 环境变量?谢谢。
标签: python ubuntu ssh paramiko