Сокрытие команды обменивается сообщениями в сценарии оболочки

Проверьте, чтобы удостовериться, что Ваши приложения используют вывод alsa в противоположность pulseaudio или esd (Или запустите тех демонов сами). Также удостоверьтесь, что Ваш микшер нес отключенным звуком с alsamixer.

2
17.07.2013, 02:29
1 ответ

Те сообщения печатаются как ошибки (stderr), а не регулярный вывод (stdout).

Только stdout передается по каналу, не stderr. Таким образом при наличии &> /tmp/file после grep, Вы только объединяете stdout и stderr вывод grep самостоятельно, это не объединит stderr conntrack

Для Вашего примера Вы, вероятно, хотите что-то как:

conntrack -L 2>&1 | grep "dport=6439" > /tmp/file

stderr является дескриптором файла 2, и stdout является дескриптором файла 1. 2>&1 слияния stderr в stdout.

Придерживаясь 2>&1 на conntrack, вывод объединяется, прежде чем он будет передан по каналу к grep. Нет никакой потребности объединиться снова на grep.

6
27.01.2020, 21:54

Теги

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