объединить несколько одинаковых эхо-сигналов в один эхо из цикла for в bash

Я создаю сценарий мониторинга, который смотрит на результаты с нескольких хостов в цикле, а затем на echo OK или NOT OK … Если все закончилось ОК, я хочу объединить это сообщение в одно OK, иначе НЕ ОК. Вот что сейчас работает:

Автор сценария:

for HOST in $HOST1 $HOST2 $HOST2 do HEARTBEAT=$(${LDAPSEARCH} -h ${HOST} -p ${PORT} -D "${USER}" -w $${PASS} -b "" -s base "(objectClass=*)" | grep dn: | sed 's/dn:/dn/g') if [ $HEARTBEAT = 'dn' ]; then echo "ok" else echo "NOT OK" fi done 

Вывод:

 $OK $OK $OK 

Else Output:

 $NOT OK $NOT OK $NOT OK 

Желаемый результат:

 $OK else $NOT OK 

One Solution collect form web for “объединить несколько одинаковых эхо-сигналов в один эхо из цикла for в bash”

Как насчет этого – небольшая реорганизация вашего скрипта:

 #!/usr/bin/env bash for HOST in $HOST1 $HOST2 $HOST2 do HEARTBEAT=$(${LDAPSEARCH} -h ${HOST} -p ${PORT} -D "${USER}" -w $${PASS} -b "" -s base "(objectClass=*)" | grep dn: | sed 's/dn:/dn/g') if [ ! $HEARTBEAT = 'dn' ]; then echo "NOT OK" exit 1 fi done echo "ok" 

Этот скрипт будет печатать один NOT OK после встречи с первым неправильным HOST и будет печатать один OK если нет неправильных HOSTs .

  • Где хранятся программные вызовы процесса загрузки
  • SSH вызывает остановку цикла
  • Unix: C-shell: проверка дискового пространства в Hp-UX
  • Правильное совпадение слов
  • Sh Script с использованием ftp для размещения списка файлов
  • Как сохранить переменные в скрипте, который может быть разделен между двумя прогонами awk в отношении того же входного файла в скрипте?
  • Сжимайте большое количество больших файлов быстро
  • Почему лучше использовать «#! / Usr / bin / env NAME» вместо «#! / Path / to / NAME» в качестве моего shebang?
  • Выполнять команду CURL только один раз в скрипте?
  • Как безопасно передавать переменные в сценарии с поддержкой root?
  • сохранить буфер ожидания за пределами области видимости?
  • Interesting Posts

    Почему xargs gvim –remote также открывает пустой файл?

    Получение последней версии программного обеспечения с / без Sourceforge

    Какое имя формата имеет видео MP4 как вывод в ffmpeg?

    Ubuntu не переходит в спящий режим после истечения срока службы батареи при закрытии крышки?

    Почему мой $ PATH не наследуется вызванным bash?

    Сеть не имеет пинга и не может разрешать хосты

    Каков правильный способ создания загрузочного образа моей системы?

    Как заставить ghostscript не стирать метаданные PDF

    Как мне обе цензурировать команду от .bash_history, а также иметь возможность вернуться к ней со стрелкой вверх?

    Преобразование числовой строки из файла для вывода кода в оболочке

    Можно ли отключить Watchdog, если он включен?

    Как получить доступ к URL-адресу, отфильтрованному только для моего открытого IP-адреса вне моей сети

    Запустить второй X-сервер из X в качестве службы systemd

    Молчаливые ошибки диска и надежность обмена Linux

    Переместить файл, но только если он закрыт

    Linux и Unix - лучшая ОС в мире.