Как отменить нежелательные сообщения об ошибке из команды ssh?

Я пытаюсь избежать печати сообщений на консоль, полученную, когда лун не найден во время команды ssh. SSH принадлежит файлу NetApp. Команда запускается на хосте Solaris 10.

Вот некоторые из кода, который я выполняю:

for filer in <list> do echo $filer ssh $filer lun show <lunpath> |grep vol ... done 

Если LUN найден, код работает нормально, но если LUN не найден, SSH-команда возвращает «lun show: Нет такого LUN существует»

Я пробовал несколько команд grep и egrep, включая варианты -v … но я до сих пор получаю сообщение «lun show: no such LUN exists», напечатанное на консоли.

Что мне нужно сделать, чтобы пропустить печать этой строки на консоли?

One Solution collect form web for “Как отменить нежелательные сообщения об ошибке из команды ssh?”

Более новый ssh, похоже, возвращает stdout и stderr из удаленного хоста в виде двух разных потоков.

Чтобы создать фильтр, который объединяет как stdout, так и stderr, вы можете сделать:

 ssh $filer lun show <lunpath> 2>&1 |grep vol 

Чтобы отправить stderr в отдельный файл, вы можете сделать следующее:

 ssh $filer lun show <lunpath> 2>lun.show.stderr |grep vol if [ -s lun.show.stderr ]; then # there was some stderr output grep -v "No such LUN exists" lun.show.stderr fi 

Отбросить stderr:

 ssh $filer lun show <lunpath> 2>/dev/null | grep vol 

Обратите внимание, что это может скрыть реальные ошибки и затруднить отладку.

  • SSH, поврежденный при подключении к VPN при обновлении с Ubuntu 13.04 до 14.04
  • Обнаруживать, если истек срок действия пароля ssh
  • Есть ли большая разница в производительности между find и find2perl
  • Значение «Соединение, закрытое xxx » в журналах sshd
  • Избегайте проверки подлинности ssh для локальных адресов
  • ssh обратный туннель с удаленным ip
  • Поддерживать приложения Xserver, даже после закрытия удаленной консолидации
  • Не удалось выполнить SSH в Google Cloud Server после перезагрузки
  • Как я могу получить доступ к ящику Linux дома в своем браузере на работе?
  • Получить выходной ток
  • AWS - ssh: подключение к узлу host_ip host 22: соединение отказано
  • Linux и Unix - лучшая ОС в мире.