擅长:python、mysql、java
<p>由于stackoverflow不允许我在没有更多代表的情况下对Morgan的答案进行投票,我将从<a href="http://docs.fabfile.org/en/1.4.1/api/core/context_managers.html#fabric.context_managers.settings" rel="noreferrer">http://docs.fabfile.org/en/1.4.1/api/core/context_managers.html#fabric.context_managers.settings</a>中贡献更多细节</p>
<p>在下面代码中的“带设置”之外,行为将恢复正常:</p>
<pre><code>def my_task():
with settings(
hide('warnings', 'running', 'stdout', 'stderr'),
warn_only=True
):
if run('ls /etc/lsb-release'):
return 'Ubuntu'
elif run('ls /etc/redhat-release'):
return 'RedHat'
</code></pre>
<p>这是可取的,因为你基本上可以“捕捉”一个部分中本来是错误的内容,而不是致命的错误,但在其他地方留下致命的错误。</p>