有谁知道如何使环境变量注册为 exec_command调用时使用SSHClient?设置会话变量为paramiko会话
我正在使用基本脚本实例化SSHClient类,使用connect方法连接到另一台计算机,然后使用exec_command方法发出命令。但是,当我尝试发出命令时,似乎没有任何环境变量被注册。我可以做'ls'等基本的东西并看到stdout,但是当试图运行已安装的程序时,环境变量缺失的事实使得它们无法运行。在命令行中使用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'](http://docs.python.org/2/library/os.html#os.environ)添加它们? – mgilson 2013-02-12 13:59:04
我正在设置'TZ'env变量以及:我们如何使用'os.environ'设置'TZ'env变量,如果'paramiko'中不支持?谢谢。 – 2014-01-04 20:39:41