私はこのコードを持っています(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
outsideです。