Я хотел бы использовать небольшой скрипт для выполнения какой-либо косметической работы на выходе моего gcc.Распространять статус выхода по трубам
Поэтому я использую эту команду:
mygcc foo.c 2>&1 | myscript.pl
В основном мой сценарий делает такие вещи, как это:
$error = 0;
while(<>)
{
s/^"(.*)"\s*,\s*line\s*(\d+)\s*:\s*(cc\d+)\s*:/colored("[$3]", 'bold red').colored(" $1", 'red').":".colored("$2", 'yellow')/ge;
s/ \^/colored(" ^", 'yellow')/e;
s/(error:.*$)/colored($1, 'red')/ge;
s/(warning.*$)/colored($1, 'yellow')/ge;
print;
$error = -1;
}
К сожалению, код выхода из НКИ не правильно распространяющийся через трубу. Мне нужно сделать, чтобы получить код выхода из gcc и записать его из моего сценария.
Без этого make не будет корректно останавливать процесс сборки в случае ошибки.
Как я могу это достичь?