Как я могу отловить ртутные ошибки в Bash? - PullRequest
1 голос
/ 19 апреля 2011

Как мне получить результат команды hg update в bash и использовать результаты?

Меня интересует значение true / false или что-то подобное.Одна из интересующих меня ошибок - неизвестная ревизия.

Ответы [ 2 ]

1 голос
/ 19 апреля 2011

Сначала я запускаю его в подоболочке и ловлю код выхода и выхода

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"
0 голосов
/ 19 апреля 2011

Дает ли $? то, что вы хотите?Попробуйте "echo $?" после выполнения команды hg update.Как правило, ноль означает «хорошо», а ненулевой означает, что что-то пошло не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...