Python Fabric 2.4没有环境变量

时间:2019-02-21 12:38:03

标签: python ssh environment-variables freebsd fabric

我对fabic(2.4)有疑问。我无权访问远程服务器中的环境变量(我正在使用FreeBSD)。

在我的〜/ .profile文件中,我有一个变量:

export MY_KEY="123456789"

在我的fabfile.py中,我有一个简单的任务:

from fabric import task

@task(hosts=['user@myhost.com'])
def deploy(context):
    context.run('echo 123')
    context.run('echo $MY_KEY')

当我运行fab deploy命令时,我只能看到123,但是通过ssh连接后,我的变量可见。

1 个答案:

答案 0 :(得分:1)

使用Connection.prefix作为上下文管理器又如何呢?

with context.prefix('MY_KEY="123456789"'):
    context.run('echo 123')
    context.run('echo $MY_KEY')