【问题标题】:Is it possible to pass environment variables to the remote ssh server when running Fabric tasks?运行 Fabric 任务时是否可以将环境变量传递给远程 ssh 服务器?
【发布时间】:2019-10-20 00:56:52
【问题描述】:

情况:我有一些基于 Fabric 的工具,需要传递自定义环境变量才能通过 ssh 连接到远程主机(例如,run())。普通的普通 ssh 等效项是

export VAR=foo; ssh -o SendEnv=VAR my.host.com

我知道 Fabric 包装了一个名为 paramiko 的 Python ssh 库,它本身似乎支持这一点,但我对 Fabric 文档的阅读并没有向我展示一种将正确的值传递给 run() 并让它们传播的方法到 paramiko 图书馆。有没有办法让我用 Fabric 实现我想要的?

【问题讨论】:

    标签: python ssh fabric


    【解决方案1】:

    这是可能的。 Connection.run 方法接受kwargs,尤其是env 字典。 这组环境变量将被传递到您的 SSH 会话中。

    注意:Connection.run 的文档非常少。但幸运的是,它包装了 Invoke 的 run 方法(与大多数其他 Fabric 方法一样)。 => 你可以看看Invoke的run方法here

    【讨论】:

      猜你喜欢
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 2015-12-22
      • 1970-01-01
      • 1970-01-01
      • 2017-10-02
      • 1970-01-01
      相关资源
      最近更新 更多