首页 > 解决方案 > 在 paramiko 的 SSH 会话中更改 $PATH

问题描述

我想从 paramiko SSH 会话中更改 $PATH 环境变量。我尝试了以下代码,但它并没有改变路径。

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('xxx.xxx.xxx.xxx', username='xxxxxx', password='xxxxxx')
ssh.exec_command("export PATH=/tmp:$PATH")
ssh.exec_command("echo $PATH")

我有一个调用其他二进制文件的二进制文件“sysinfo”。因此,我想更改 PATH 环境变量以在所有其他路径之前使用 /tmp 目录,并将我的文件放在该二进制文件需要的 /tmp 中,以便它执行它。但它不会改变 $PATH。在我检查“echo $PATH”的输出后,它仍然显示 -

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

我还尝试在 .bashrc 文件中附加“export PATH=/tmp:$PATH”并运行“source .bashrc”。它没有用。

最后我试着跑步

ssh.exec_command("export PATH=/tmp:$PATH /bin/sysinfo")

这也没有奏效。

标签: pythonpython-3.xsshpathparamiko

解决方案


推荐阅读