Я делаю тестовый скрипт для компиляции (через make) и запускаю кучу тестов. У меня есть серия команд cat
, grep
и sed
которые хорошо организовывают результаты всех тестов, однако дампы ядра являются исключением. Допустим, у меня есть программа под названием test
. Если дамп ядра ./test
, следующие строки не поймают его (так как он не будет передан в файл):
./test 2>&1 > >(tee log)
./test > log 2>&1
Это, вероятно, из-за этого сообщения об ошибке из скрипта:
./script.sh: строка 53: 4783 Прервано (ядро выгружено) ./test 2> & 1>> (журнал событий)
У меня есть хакерский обходной путь, который заставляет make
запускать программу с пользовательским правилом:
сделать run-test 2> & 1 | чайник
В настоящее время это работает, но немного глупо использовать make-файл для этого. Есть ли другой способ захватить дамп ядра без прерывания строки сценария оболочки?