我正在寻找一个选项来在存储库上执行hg更新,或者如果它不存在则克隆它.因此,只有在出现问题(克隆或更新)时,命令才会失败.
这必须工作bash,最好是你set -e已经配置好了.
在bash的脱节运营||,可以做这样的场景:尝试的第一个命令,如果失败尝试第二个命令,如果是失败,返回错误代码.具体到这个问题,
hg update || hg clone <source>
Run Code Online (Sandbox Code Playgroud)
会尝试更新; 如果它失败了,它会尝试克隆.如果克隆失败,则整行退出克隆的错误代码.
当命令成功时,我不希望在输出中看到任何错误.
命令成功时为什么会出现错误?
你可以通过>/dev/null; 杀死输出; 你可以通过以下方式消除错误2>/dev/null; 是单独在每个组件上,还是将整行括在括号中并在后面放置重定向.