我有一个 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)
寻找更简单的解决方法的任何帮助都会很棒。