gpt4 book ai didi

python - 如何在 Python 中从远程系统检索环境变量?

转载 作者:行者123 更新时间:2023-11-28 17:47:20 24 4
gpt4 key购买 nike

我正在尝试用 Python 检索远程 Linux 服务器的环境变量。或者,如果我可以在我正在执行的命令中使用变量名,那也很好。据我所知,我正在调用的电话应该有效,但我得到的是垃圾。我已经设置了公钥身份验证,因此不需要密码。

努力 1:

devdir = subprocess.check_output(["ssh", connectstring, "echo $DEVDIR"])

努力 2:

ret = subprocess.check_output(["ssh", connectstring, 
"$DEVDIR/{0}".format(testpath)])

connectstring 是 user@ip 并且工作正常。 $DEVDIR 是我要使用的远程变量,它包含一个路径。 testpath 是我要执行的脚本的路径,根于 $DEVDIR

努力 1 返回“\n”,努力 2 无法远程解析 $DEVDIR。


努力 3:

import paramiko
...
ssh = paramiko.SSHClient()
ssh.connect(ip, user) # succeeds
stdin, stdout, stderr = ssh.exec_command("echo $DEVDIR")

结果:stdout.readlines() = "\n"

最佳答案

如果在 .bashrc 中设置了环境变量,您可以使用 -l 选项强制远程命令在登录 shell 下运行。以下...

devdir = subprocess.check_output(["ssh", connectstring, "sh -l -c 'echo $DEVDIR'"])

...适合我。

关于python - 如何在 Python 中从远程系统检索环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16196980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com