我有一个shell脚本,它返回一堆不同的错误代码。有些是无害的,我想将它们视为成功,然后使用&&
运行另一个命令(即所有在同一个列表命令中)。有没有办法做到这一点?
例如:
cmd1 && cmd2;
成功时cmd1返回0,无害错误返回1,真实错误返回2。我希望命令继续在0或1上执行。
答案 0 :(得分:4)
你可以这样做
cmd1; (( $? < 2 )) && cmd2
答案 1 :(得分:1)
您只能使用&&
继续0
返回代码。
但是,您可以阅读返回代码并根据它做出不太严格的决定(使用if
甚至&&
):
/your/command; rc=$?
[ $rc -lt 2 ] && /your/continuation
答案 2 :(得分:0)
您也可以使用test
cmd1; test $? -lt 2 && cmd2