2010-04-28 3 views
10

Я компилирую модуль ядра и в нем много ошибок компиляции. После запуска «make» ошибки, выброшенные, слишком велики, чтобы вписаться в экран. Прокрутка вверх не достигает первой ошибки. Я попытался зафиксировать ошибки, выполнив make & 2> журнал, который не работал (файл журнала был пуст, и сообщения об ошибках все еще были сброшены на экране).Ошибка регистрации команды make в Linux

Может ли кто-нибудь рассказать мне, как вести регистрацию всех сообщений, сгенерированных во время компиляции/вхождения в файл журнала?

+4

Попробуйте 'make &> log.txt' –

+0

@PaulR Как может быть, что вы положили амперсанд раньше, и Натан Феллман ставит его после? –

+0

@JanusTroelsen: это зависит от того, какую оболочку вы используете - комментарий выше предполагает bash, но синтаксис отличается от разных оболочек. –

ответ

15

Try делает:

make >&log 

& после > говорит оболочке сваливать как стандартный вывод и стандартный поток ошибок в log. Это также можно использовать с трубами.

+0

Спасибо, это помогло мне. :) –

18

Если вы хотите, чтобы посмотреть его прокрутить прошлое, тоже:

make 2>&1 | tee log 

(/ бен/ш, Баш и связанные с ним) Это посылает стандартную ошибку в том же месте, что и стандартный вывод, а затем трубы их через tee, чтобы зафиксировать результат и все равно получить экранное действие.

+0

Ваш пример аналогичен: make 2> & 1> log, правильно? –

Смежные вопросы