У меня есть оболочка script, в которой я завершаю команду (mvn clean install), чтобы перенаправить вывод в файл журнала.
#!/bin/bash
...
mvn clean install [email protected] | tee $logfile
echo $? # Does not show the return code of mvn clean install
Теперь, если mvn clean install
выходит из строя с ошибкой, я хочу, чтобы моя оболочка-оболочка script также завершилась с ошибкой. Но так как я собираю все выходные данные в tee, я не могу получить код возврата mvn clean install
, поэтому, когда я получаю доступ к $?
после этого, он всегда равен 0 (с тех пор, как он достигает успеха).
Я попробовал позволить команде записать вывод ошибки в отдельный файл и проверить это потом, но вывод ошибки mvn всегда пуст (кажется, что он только записывает на stdout).
Как сохранить код возврата mvn clean install
, но все же передать вывод в файл журнала?