2

Команда, вызывающая сбой,

gpc xxx.pas > error.txt

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

Так почему же перенаправление оболочки потерпит неудачу?

Благодарю.

1 ответ1

5

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .