如何在bash中捕获mercurial错误?

时间:2011-04-19 09:05:53

标签: bash mercurial

如何在bash中获取hg update命令的结果并使用结果?

我对真/假值或类似的东西感兴趣。我感兴趣的错误之一是未知版本。

2 个答案:

答案 0 :(得分:1)

首先我在子shell中运行它并捕获输出并退出代码

result=$(hg update 2>&1)
exit_code=$?

然后

case $exit_code in
0)
  success
  ;;
[1-5])
  failure x
  ;;
[6-9])
  failure y
  ;;
255)
  failure z
  ;;
*) # Default
  echo "it's a trap"
  ;;
esac

或者,如果您对真实/错误状态感兴趣

,则可以
result=$(hg update 2>&1) && echo "Success"

result=$(hg update 2>&1) || echo "Failure"

答案 1 :(得分:0)

$?能给你你想要的吗?运行echo $?命令后尝试“hg update”。通常,零表示“ok”,非零表示出错。