BASH Программирование

Как перенаправить stderr на stdout в Bash

Как перенаправить stderr на stdout в Bash
Команды в Linux принимают некоторый ввод от пользователя, который может быть файлом или любым атрибутом, и при выполнении они дают некоторый вывод, называемый стандартным выводом. Стандартный вывод может быть успешным или ошибочным; оба будут отображаться на экране вашего терминала. Но в некоторых случаях вы хотите сохранить стандартные выходные данные в файл для тестирования или отладки кода. В Linux эти выходные данные могут быть перенаправлены в файл, а процесс его захвата называется перенаправлением.

В Linux каждый процесс создает три потока данных: «stdin», «stdout» и «stderr»:

Каждый поток данных имеет числовой идентификатор:

Числовой идентификатор Имя
0 стандартный ввод
1 стандартный вывод
2 stderr

Давайте подробнее объясним перенаправление:

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

Чтобы перенаправить стандартный вывод команды, мы будем использовать «1» с оператором перенаправления, который больше знака «>»:

$ ls 1> стандартный вывод.текст

Приведенная выше команда создаст файл и поместит стандартный вывод команды «ls» в «stdout».txt »файл.

Чтобы прочитать «stdout.txt », используйте:

$ cat stdout.текст

Мы также можем перенаправить стандартную ошибку в файл с помощью команды:

$ cat myfile.txt 2> stderr.текст

Для просмотра «stderr.txt », используйте:

$ cat stderr.текст

Убедитесь, что цифра «2» больше, чем знак «>». Поскольку нет «myfile.txt »в каталоге, команда« cat »выдаст ошибку, которая будет добавлена ​​в« stderr.txt »файл.

Эти стандартные выходные данные также можно перенаправить с помощью одной команды, используйте:

$ ls 1> стандартный вывод.txt 2> stderr.текст

Вывод команды «ls» будет записан в поле «стандартный вывод.текст"Файл, но"stderr.текст»Останется пустым, потому что ошибки не будет.

Теперь займемся «stderr.текст":

$ cat myfile.txt 1> стандартный вывод.txt 2> stderr.текст

Используйте указанную ниже команду, чтобы прочитать «stderr.текст.”

$ cat stderr.текст

И, конечно же, «stdout.txt »будет пустым.

Заключение:

Команда Linux при выполнении дает стандартный вывод, который может быть успешным или ошибочным. Как правило, эти выходные данные нельзя перенаправить с помощью операторов перенаправления; нам нужно использовать определенные числовые идентификаторы со знаком «>». В этом руководстве мы узнали, как использовать эти цифровые клавиши для перенаправления стандартного вывода в файл с примерами.

Контроль и управление перемещением мыши между несколькими мониторами в Windows 10
Диспетчер мыши с двумя дисплеями позволяет контролировать и настраивать движение мыши между несколькими мониторами, замедляя ее движения возле границы...
WinMouse позволяет настраивать и улучшать движение указателя мыши на ПК с Windows
Если вы хотите улучшить функции указателя мыши по умолчанию, используйте бесплатное ПО WinMouse. Он добавляет дополнительные функции, которые помогут ...
Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...