如何读取通过CLI设置的Fabric环境变量
我该如何读取我通过命令行工具设置的环境变量呢?比如说,我在当前工作目录下有一个空的 fabfile.py 文件,当我运行 fab --set password=foo,host_string=host1
之后,再打开一个 Python 控制台查看这些 fab 环境变量是否被设置 -
from fabric.api import env
print env.host_string
我什么也没有得到?
2 个回答
0
你不能那样设置 host_string 这个变量。这个变量是在内部设置的,它会对传入的原始主机名进行一些字符串处理。如果你想指定一个特定的主机来使用,可以在调用你的 fab 任务时,使用一个标志来实现,像这样调用你的任务:
$ fab -H host1 --set password=foo sometask
如果你想把一个主机传给一个函数,你也可以这样做,但要使用不同的变量名。
3
根据文档,多个env
变量需要用逗号分隔:
fab --set password=foo,host_string=host1
示例:
$ cat fabfile.py
from fabric.api import env
print env['hello']
print env['world']
$ fab test --set hello=1,world=2
1
2