从文档:
…
Fabric默认为“快速失败”行为模式:如果发生任何错误,例如远程程序返回非零返回值或fabfile的Python代码遇到异常,则执行将立即停止。这通常是所需的行为,但是该规则有很多例外,因此Fabric提供了布尔设置env.warn_only。默认为False,这意味着错误情况将导致程序立即中止。但是,如果在发生故障时将env.warn_only设置为True(例如使用设置上下文管理器),则Fabric将发出警告消息,但会继续执行。
看起来您可以使用
settings上下文管理器对忽略错误的位置进行细粒度控制,如下所示:
from fabric.api import settingssudo('mkdir tmp') # can't failwith settings(warn_only=True): sudo('touch tmp/test') # can failsudo('rm tmp') # can't fail


