さまざまなタイプの成功と失敗を示す非標準のリターン コードを吐き出す bash コマンドがあります。
すべての有効なリターン コードをホワイトリストに登録しながら、このコマンドをファブリック ファイルの一部として実行したいと考えています。
from fabric.api import local
local('exit 5') # This will cause an abort even though it is expected behaviour
私の願いは次のようなことです:
from fabric.api import local, settings
with settigns(valid_exit_codes=[0,5]):
local('exit 5')
私は現在、次の行に沿って何かをしています:
with settings(warn_only=True):
output = local('exit 5')
if output.return_code in [0, 5]:
return output.return_code
else:
abort("Non success return-code: %s" % output.return_code)
より簡単な回避策を見つけるための支援は素晴らしいでしょう。