![通过网络从另一台计算机获取环境变量](https://linux22.com/image/922887/%E9%80%9A%E8%BF%87%E7%BD%91%E7%BB%9C%E4%BB%8E%E5%8F%A6%E4%B8%80%E5%8F%B0%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%8E%B7%E5%8F%96%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F.png)
我的网络上有一个 myuserid@remotemachine,我可以通过公钥/私钥 ssh 访问它(即不提示输入密码,直接登录)。有没有办法在我的本地计算机上使用 Python(或 bash,或任何其他标准 linux 命令)读取其中一个我的用户ID环境变量远程机器无需运行预先准备的远程脚本?
答案1
当然,你可以使用 ssh 来运行远程命令
在你的终端上尝试这个:
ssh myuserid@remotemachine echo \$HOSTNAME
答案2
除了运行远程进程(例如从本地系统或脚本运行的任何地方使用此命令)之外(由 FangQ 建议)...
ssh user@remote echo \$ENVVARNAME
...要获取您所请求的环境变量的输出(在本例ENVVARNAME
中,这是一个伪占位符),您无法做到。
如果不执行远程系统上的进程,则无法获取整个环境变量列表。因此,除非运行 SSH 调用进入远程环境以转储环境变量,然后解析该输出,否则您将无法获取“远程”变量。
这适用于 Python、Bash 和任何其他脚本语言 - 您要么必须通过远程进程调用检索数据并解析其输出,要么必须在远程系统上运行脚本。