Я роблю тестовий сценарій, щоб зібрати (за допомогою make) і провести купу тестів. У мене є ряд cat
, grep
і sed
команди , які організовує результати всіх тестів добре, проте ядро-відвали є винятком. Скажімо, у мене є програма під назвою test
. Якщо ./test
ядро демпфірує, наступні рядки не зафіксують його (оскільки в ньому не буде передано файл):
./test 2>&1 > >(tee log)
./test > log 2>&1
Можливо, це повідомлення про помилку зі сценарію:
./script.sh: рядок 53: 4783 Скасований (ядро скинуто) ./test 2> & 1>> (трійник)
У мене є хиткий спосіб вирішення, який змушує make
запускати програму за допомогою спеціального правила:
зробіть пробіг-тест 2> & 1 | трійник - журнал
Наразі це працює, але для цього потрібно скористатися makefile. Чи є інший спосіб захоплення основного дампа, не перериваючи рядок сценарію оболонки?