Игорь Олемской — практические заметки по системному администрированию Linux CentOS

перенаправление stdout и stderr (перепечатка)

Комментариев нет

Коротко и ясно расскажу о пере направлении stdout и stderr. stdout это нормальный вывод, stderr это ошибки.

[root@shakirov ~]# ls /opt/ /blah
ls: /blah: Нет такого файла или каталога
/opt/:
firebird  iso  lost+found

красным выделен stderr, а синим stdout. По умолчанию в output отправляется и stdout и stderr.


перенаправления stdout в /tmp/stdout используйте конструкцию:

[root@shakirov ~]# ls /opt/ /blah > /tmp/stdout
ls: /blah: Нет такого файла или каталога

для перенаправления stderr в /tmp/stderr используйте конструкцию:

[root@shakirov ~]# ls /opt/ /blah 2> /tmp/stdout
/opt/:
firebird  iso  lost+found

Для перенаправления sterr и stdout в файл /tmp/all используйте конструкцию:

[root@shakirov ~]# ls /opt/ /blah > /tmp/all 2>&1

Есть вариант когда stderr и stdout отправляются в output и в файл. Это удобно для отладки интерактивных скриптов. Делается это через tee.

[root@shakirov ~]# ls /opt/ /blah 2>&1 | tee /tmp/all
ls: /blah: Нет такого файла или каталога
/opt/:
firebird  iso  lost+found

ну и пара практических вариантов, отправка stdout и stderr на электронную почту:

[root@shakirov ~]# ls /opt/ /blah 2>&1 | mail root@localhost

скрытие сообщений об ошибках:

[root@shakirov ~]# ls /opt/ /blah 2> /dev/null

Похожие записи:

  1. перенаправление почты пользователя root
  2. Создание локального репозитория для yum
  3. FUDforum upgrade and troubles

Комментировать