使用Paramiko时环境变量的差异

发布于 2021-01-29 14:10:24

我正在通过终端(在Mac上)连接到SSH并运行Paramiko
Python脚本,由于某些原因,两个会话的行为似乎有所不同。PATH在这些情况下,环境变量是不同的。

这是我运行的代码:

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', username='myuser',password='mypass')
stdin, stdout, stderr =ssh.exec_command('echo $PATH')
print (stdout.readlines())

知道为什么环境变量不同吗?

我该如何解决?

关注者
0
被浏览
121
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    使用Channel对象而不是SSHClient对象解决了我的问题。

    chan=ssh.invoke_shell()
    chan.send('echo $PATH\n')
    print (chan.recv(1024))
    

    有关更多详细信息,请参见文档



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看