Как перенаправить стандартную ошибку (stderr) в bash

Стандартная ошибка (также известная как stderr) является устройством вывода ошибок по умолчанию. Используйте stderr для записи всех сообщений об ошибках системы. Число (FD - File Descriptors) два (2) обозначает stderr. По умолчанию stderr - это экран или монитор. Стандартный вывод (также известный как stdout) используется командой для записи (отображения) ее вывода. По умолчанию stdout - это экран. Он обозначается одним числом (1).

Как перенаправить стандартную ошибку (stderr)

2> - это символ перенаправления ввода, синтаксис которого следующий:

Перенаправить stderr (стандартную ошибку) в файл:

Давайте перенаправим и stderr, и stdout (стандартный вывод):

Наконец, мы можем перенаправить stdout в файл с именем myoutput.txt, а затем перенаправить stderr в stdout с помощью 2>&1 (errors.txt):

Убедитесь, что вы используете >> для добавления данных/лога, если в файле уже есть данные. Например:

перезаписать существующий файл

добавить существующий файл

добавить stdout и stderr в разные файлы

Вы должны заменить команду command на команду, которую вы хотите запустить. Рассмотрим несколько примеров, объясняющих перенаправление стандартной ошибки в bash.

Как перенаправить стандартную ошибку в bash

Выполните команду find и сохраните все сообщения об ошибках в файл find.error.txt:

Вы можете просмотреть файл find.error.txt с помощью команды cat:

 

Записанные ошибки в файл

Вам нужно использовать "2>", когда вы хотите перенаправить stderr в файл. Вы можете перенаправить stdout в файл с именем results.txt и stderr в файл с именем errors.txt:

Проверьте результаты с помощью команды cat:

Это полезно в сценариях или для любых других целей.

Как перенаправить стандартную ошибку и стандартный вывод в bash

Вы можете отправить как stdout, так и stderr в файл с именем output.txt

К примеру

Обратите внимание, что и ошибки, и фактический вывод команды find сохраняются в файл:

cat filelist.txt

Понравилась статья? Поделиться с друзьями:
Добавить комментарий