3

У меня раздражающая проблема: перенаправление stderr не работает. Я получил:

iptables: Chain already exists

Я не могу потрудиться проверить, существует ли уже цепочка (бессмысленно, iptables просто выдает ошибку, если цепочка существует, прежде чем я очищу ее на следующем шаге, так зачем беспокоиться о проверке, если она уже существует). Чтобы игнорировать это, я перенаправляю stderr в /dev /null, но, похоже, это не работает.

В общем: как мне:

  1. проверить, какой поток используется командой в bash? это вообще возможно?

  2. перенаправить ВСЕ потоки, выводимые командой?

1 ответ1

0
  • какова ваша команда iptables?

  • Вы можете посмотреть на /proc / <pid> / fd /! в цепочке команд есть записи "pipe" с pid другой команды

  • перенаправление всех потоков в bash в соответствии с TFM:

    Существует два формата перенаправления стандартного вывода и стандартной ошибки:
    &>word
    а также
    >&word
    Из двух форм первая является предпочтительной. Это семантически эквивалентно
    >word 2>&1

НТН
С уважением
Стефан К.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .