симметричное перенаправление не дает тех же результатов

Я точно не знаю, что такое syslog -ng, но я предполагаю, что он также использует эвристический разбор устаревших сообщений syslog, точно так же, как rsyslog (с другой эвристикой, я думаю ).

Следует отметить, что показанный формат сообщения является странным. RFC3164 описывает то, что обычно можно увидеть на проводе, а второй формат здесь очень далек от того, что там описано. Если возможно, лучшим решением будет попросить отправителя исправить формат, чтобы он больше соответствовал стандартам.

0
15.01.2020, 11:16
1 ответ

@choroba дал хороший ответ, но не объяснил. Вот почему.

echo "Hello" 11>txt 11<&1

  • стандартный вывод -> клемма
  • 11>txtоткрыть файл txt как fd/x перенаправить fd/11 в fd/x (скопировать номер из fd/x в fd/11)
  • 11<&1перенаправить fd/11 в fd/1 (скопировать номер из fd/1 в fd/11 ).

теперь fd/11 эквивалентно fd/1 (терминал ). fd/x указывает на файл (, но мы не знаем x ).

  • echo "Hello" 11>txt 1>&11
  • стандартный вывод -> клемма
  • 11>txtоткрыть файл txt как fd/x перенаправить fd/11 в fd/x (скопировать номер из fd/x в fd/11)
  • 1>&11перенаправить с 1 на 11 (скопировать номер из fd/11 в fd/1 ).

Теперь fd/1, fd/11 и fd/x указывают на файл.

3
28.01.2020, 02:17

Теги

Похожие вопросы