объединить несколько одинаковых эхо-сигналов в один эхо из цикла 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 

  • Скрипт для преобразования каталога сценариев ksh в сценарии bash?
  • Как создать скрипт с обратным действием
  • используя скрипт bash для сортировки текста в файле
  • Какое правильное место для установки кучи скриптов и файлов поддержки для программы?
  • Почему эти вложенные параметры в сценарии оболочки POSIX разделены словом?
  • Использование переменной даты с помощью wget -post-data
  • Есть ли способ POSIX для установки нулевого аргумента целевого приложения?
  • Как передать список переменных в sed в функции оболочки
  • 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 .

    Interesting Posts

    Перенос исполняемых файлов из Windows в Linux через WinSCP

    Случайные сбои на XFCE – как диагностировать, что происходит?

    Вход Stdin в команду с nohup

    Debian – как запустить скрипт при запуске, как только будет готово к использованию интернет-соединение?

    Файл Bash – найти значение из вывода команды и сохранить как переменную

    Почему Centos apache httpd-2.2.3 rpm удаляет подключенный apr, apr-util, pcre?

    Как проверить umask для всех пользователей под Linux?

    Проблема с поиском и переменными

    В чем разница между «расширенным» разделом и «логическим» разделом

    Не знаю, как устранить проблему с электронной почтой Bugzilla

    скрипты bash не работают при попытке использовать список

    Конфигурация Postfix – сохраняйте конверты

    Сравнение столбцов в двух файлах и добавление первого файла

    Команда «Судо» с префиксом не работает; без sudo делает.

    Сетевой адаптер Cent OS USB, распознаваемый как ethernet

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