我有这个代码(foo
并且bar
是本地服务器):
env.hosts = ['foo', 'bar']
def mytask():
print(env.hosts[0])
当然,每次迭代都会打印foo 。
您可能知道,Fabric 遍历 env.hosts 列表并以这种方式在每个列表上执行 mytask() :
fab mytask
做
task
执行于foo
task
执行于bar
我正在寻找一种在每次迭代中获取当前主机的方法。
谢谢,
使用env.host_string
. 您可以在此处找到完整的env
变量列表。
你可以这样做:
env.hosts = ['foo', 'bar']
def mytask():
print(env.host)
因为当您在 fab 执行的任务中时,您将免费设置该 var。
谢谢马塞洛。
如果您想实际使用env.host_string
(例如用于连接目的),请务必在任务中。它的价值在None
外面。