Инструменты пользователя

Инструменты сайта


chto_oznachaet_dev_null_2_1_ili_perenapravlenie_stdin_stdout_i_stderr

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

chto_oznachaet_dev_null_2_1_ili_perenapravlenie_stdin_stdout_i_stderr [2014/12/09 08:56] (текущий)
Строка 1: Строка 1:
 +====== Что означает "> /dev/null 2>&​1"​ или перенаправление STDIN, STDOUT и STDERR? ======
 +Существует три стандартных значения ввода и вывода для программ (их можно представить как «потоки данных»,​ они пришли из языка программирования C).
  
 +  - **STDIN** - ввод получают от клавиатуры (интерактивная,​ диалоговая программа),​ или из программы,​ обрабатывающей вывод другой программы.
 +  - **STDOUT** - вывод результат программы обычно печатается в стандартной вывод
 +  - **STDERR** - вывод сообщений об ошибках
 +
 +Часто к ним обращаются не по имени, а по номеру (по умолчанию,​ если не указать номер, подразумеваться STDOUT):
 +**0 — STDIN, 1 — STDOUT и 2 — STDERR**.
 +
 +<note tip>​Оператор > («больше чем»), переадресовывает вывод программы. </​note>​
 +<​note>/​dev/​null & выполнение в фоне
 +
 +/dev/null && после выполнения без ошибок выполнить следующую коменду
 +
 +[command] & — запускает команду в фоне, т.е. управление отдаётся командному интерпретатору (bash, например),​ а [command] будет выполняться «параллельно».
 +
 +[command] && — подразумевает,​ что следующая команда будет выполнена только в том случае,​ если [command] была выполнена успешна (вернула 0).
 +</​note>​
 +
 +  * Пример. Если нужно получить вывод скрипта и никаких ошибок:​ 2>/​dev/​null<​file>​
 +*/10 * * * * root /​var/​www/​jobs/​cronload.sh > /dev/null 2>/​dev/​null
 +</​file>​
 +  * Пример. [[cron]]. Если нужно получать только сообщения об ошибках:​ > /​dev/​null<​file>​
 +*/10 * * * * root /​var/​www/​jobs/​cronload.sh > /dev/null
 +</​file>​
 +  * Пример. [[cron]]. Если нужно весь вывод указанной команды удалить,​ то есть даже при ошибках скрипт будет молчать.<​file>​
 +*/10 * * * * root /​var/​www/​jobs/​cronload.sh > /dev/null 2>&1
 +</​file>​
chto_oznachaet_dev_null_2_1_ili_perenapravlenie_stdin_stdout_i_stderr.txt · Последние изменения: 2014/12/09 08:56 (внешнее изменение)