python使用paramiko模块ssh连接远程主机,环境变量问题

Anderson_young 2016-02-29 03:30:13
想写个脚本去远程维护主机,执行相应命令,但是通过python使用paramiko模块ssh连接远程主机,环境变量不跟随用户,通过export环境变量也不起作用,

#!/usr/bin/python
import paramiko,fileinput
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
for line in fileinput.input(r'./mac_list'): #mac_list中存放的是ip username pwd
line=line.rstrip()
if line:
mac_ip,usrname,pwd=line.split() #分割line,向mac_ip、username、pwd赋值
ssh.connect(mac_ip,22,usrname,pwd) #建立连接
stdin,stdout,stderr=ssh.exec_command("export PATH=/bea/tuxedo/tuxedo11gR1/bin:$PATH") #export环境变量不生效,单独在目标主机执行这条语句可行
......
print stdout.readlines()
ssh.close()

#通过命令行输入效果

#通过相应用户登录后,环境变量并没有跟随用户
stdin,stdout,stderr=ssh.exec_command("echo $PATH")
stdout.readlines()
['/usr/local/bin:/bin:/usr/bin\n']
#export环境变量
stdin,stdout,stderr=ssh.exec_command("export PATH=/bea/tuxedo/tuxedo11gR1/bin:$PATH")
#未生效
stdin,stdout,stderr=ssh.exec_command("echo $PATH")
stdout.readlines()
['/usr/local/bin:/bin:/usr/bin\n']
...全文
302 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧