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