"> / Dev / null 2> & 1" в выражении `if`

Я не понимаю ниже, if условие. Я знаю, что /dev/null 2 > &1 отправляет вывод в поток ошибок (пожалуйста, поправьте меня, если я ошибаюсь). Но я не понимаю, когда он находится в if

 if /usr/bin/egrep -e "$param1" -e "$param2" -e "param3" ${file} > /dev/null 2>&1 then bla bla 

One Solution collect form web for “"> / Dev / null 2> & 1" в выражении `if`”

if только интересует код выхода grep (нашел ли он некоторые строки, соответствующие условиям), но не выводит команду grep, поэтому он перенаправляет весь вывод на / dev / null, что нигде не означает.

Это перенаправление происходит в двух частях:

  • > /dev/null перенаправляет стандартный вывод в никуда, то есть строки, которые egrep обычно выводит
  • 2>&1 перенаправляет вывод ошибки также в то же место, что и стандартный вывод, то есть в / dev / null; это для подавления сообщений об ошибках от egrep.
  • Что означает `1 >>` и `2 >>` в сценарии bash?
  • vipe misbehaving при замене процесса bash
  • cat / dev / null опустошил мой файл журнала, но размер не изменился
  • tee stdout to stderr?
  • перенаправление входного выхода в bash
  • Перенаправление sed для завивки, затем в файл
  • Перенаправить вывод в уже запущенную программу
  • Замена stdout на stderr
  • подстановка команды bash с перенаправлением: дескриптор файла
  • Как перенаправить вывод команды «xterm -hold -e»
  • Zsh перенаправляет на / dev / null и pipe
  • Linux и Unix - лучшая ОС в мире.