Почему перенаправление оболочки перестало работать?

Команда, вызывающая отказ,

gpc xxx.pas > error.txt

Поскольку я хочу загрузить сообщение об ошибке на stackflow.com, но это поворачивается, там ничто в error.txt, кроме того, gpc все еще кричал к stdout, и распечатайте сообщение об ошибке одно экран?

Итак, почему перенаправление оболочки перестало бы работать?

спасибо.

2
задан 03.11.2009, 04:13

1 ответ

STDERR (стандартная погрешность) в UNIX и подобных UNIX системах перенаправляется с помощью 2> вместо единственной двойной угловой скобки (>).

пример:

gpc xxx.pas 2> error.txt

Это позволит стандартному выводу (STDOUT) быть распечатанным к терминалу как нормальный, но отправит все сообщения об ошибках в файл, error.txt.

Если Вы хотите собрать и STDOUT и STDERR в том же файле, использовать 2>&1: это говорит оболочке копировать STDERR (2) к STDOUT (1). Теперь перенаправление STDOUT получает оба потока:

gpc xxx.pas 2>&1 > stdout-and-stderr.txt
5
ответ дан 08.12.2019, 05:59

Теги

Похожие вопросы