python - 在 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")
这也没有奏效。
解决方案
推荐阅读
- python - 将两个 numpy 数组与基于两个数组的方程组合
- python - 使用两个输入作为字符串构建连体网络
- python - Matplotlob set_position() 不适用于带有 constrained_layout 的子图
- python - 我只需要所选选择的结果,但它会显示所有其他结果以及任何选择
- java - 为火棒制作应用程序,但按钮单击和悬停不起作用
- locust - 如何在 Locust 中为 FastHTTPUser 方法配置代理
- .net-core - 如何创建 ApiAuthorizationDbContext 的 Mock(Moq) 对象
- apache-spark - 如何在 spark 中使用 repartition() 指定文件大小
- reactjs - Deck.GL TerrainLayer 在其他 HTML 元素上呈现
- node.js - 节点 Docker 例程:tls_process_ske_dhe:dh key too small