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