Распечатать последнее сообщение об ошибке от stderr?

У меня есть сценарий, который развертывает веб-сервис, и я нашел этого маленького помощника к exitWithMessageOnError.

exitWithMessageOnError () {
  if [ ! $? -eq 0 ]; then
    echo "An error has occurred during web site deployment."
    echo $1
    exit 1
  fi
}

Это в настоящее время работает потому что grunt перестал работать по некоторым причинам.

grunt --no-color --verbose clean build
exitWithMessageOnError "grunt failed"

К сожалению, все, что я возвращаю, An error has occurred during web site deployment. и grunt failed. То, что я хотел бы сделать, распечатать ошибку, которая произошла так, я могу зафиксировать ее.

Я попробовал что-то >&2 но я не смог получить его работа.

2
задан 24 August 2015 в 16:55

1 ответ

Если одна только программа действительно пишет в stderr, необходимо смочь видеть ее вывод ошибок без потребности в той функции помощника. В Вашем сообщении Ваша команда предполагает, что Вы не использовали перенаправления, таким образом, Вы, как предполагалось, видели поток сообщений об ошибках. Диагностировать Вас, конечно, могло перенаправить и stdout и stderr в два отдельных файла, (или оба тому же с &> file.txt) и видеть то, что продолжается на самом деле

0
ответ дан 3 December 2019 в 00:02

Другие вопросы по тегам:

Похожие вопросы: