./configure вывод в терминале, но также в файле с 2>&1?

Для компиляции исходного кода я хотел бы знать, как я могу "скопировать" выходные данные терминала, чтобы stdout и stderr шли туда, куда они должны идти, но также и для gedit.

Когда я использую ./configure 2>&1 gedit - тогда все выходные данные терминала отправляются в gedit, но больше не туда, куда нужно идти изнутри. Это верно?

Может быть, я здесь супер неправ, но мне не удалось найти четкие инструкции.

Спасибо! J

1 ответ

Решение

Читать man bashособенно раздел "Перенаправление".

2>&1

перенаправляет STDERR (поток ошибок) в то же место, куда идет STDOUT.

Что ты имеешь в виду "больше не там, где нужно внутренне"? Потоки STDERR и STDOUT создаются ./configure как это касается его бизнеса. То, как вы обрабатываете STDERR или STDOUT после вывода сценария, обычно не влияет на сценарий (кроме lots_of_output | read_a_byte_an_hour).

Чего ты хочешь gedit обрабатывать? Где gedit будешь писать отредактированный файл?

Вы могли бы

./configure 2>/tmp/stderr >/tmp/stdout  

затем gedit любой файл.

Если вы хотите сохранить STDERR вместе с STDOUT и обработать его позже, см. man tee, и делать:

./configure 2>&1 | tee /tmp/logfile | later_processing ...  
Другие вопросы по тегам