我想从失败的命令返回退出代码“ 0”。有没有更简单的方法可以做到这一点,而不是:
function a() {
ls aaaaa 2>&1;
}
if ! $(a); then
return 0
else
return 5
fi
只需附加return 0
到函数即可强制函数始终成功退出。
function a() {
ls aaaaa 2>&1
return 0
}
a
echo $? # prints 0
如果出于任何原因希望以内联方式执行此操作,可以将其附加|| true
到命令中:
ls aaaaa 2>&1 || true
echo $? # prints 0
如果您想反转退出状态,只需在命令前加上 !
! ls aaaaa 2>&1
echo $? # prints 0
! ls /etc/resolv.conf 2>&1
echo $? # prints 1
另外,如果您陈述要总体上实现的目标,我们也许可以指导您获得更好的答案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句