Fabric :使用 -H 选项时忽略 env.hosts

Fabric : ignore env.hosts when using -H option

当使用命令-H时,可以在命令行上指定主机。

假设您默认设置了一个包含主机列表的 env.hosts 变量。但有时,您只需要在这些主机中的一两个上应用您的功能,您需要使用 -H .

如何在使用此参数时继续忽略 env.hosts?我找不到任何关于它的信息。这是实现此目标的好方法吗?

您可以填充 env.hosts 只有当它没有指定为命令行参数时,例如:

env.hosts = env.hosts or ['host1', 'host2', 'host3']

这样,当设置 CLI 参数 -H/--hosts 时,env.hosts 在加载 fabfile 时已经包含一个值,您不会覆盖它的值。

documentation 所述,从 CLI 指定的主机列表在优先顺序中是最新的,因此可能会被其他人覆盖。