если в результате команды A есть * not *, тогда выполните команду B [duplicate]

Замечания:

  • Это не сработает, если class A имеет объект class B в качестве члена или наоборот.
  • Переслать декларацию - это путь.
  • Применяется порядок декларирования (именно поэтому вы выходите из определений). Если оба класса называют функции другого, вы должны перенести определения.

Читайте FAQ:

58
задан Dane O'Connor 11 September 2012 в 19:27
поделиться

3 ответа

! /usr/local/bin/monit --version | grep -q 5.5

(grep возвращает статус выхода 0, если находит совпадение, и 1. В противном случае параметр -q «quiet» указывает, что он не печатает совпадения, которые он находит, другими словами , он сообщает grep, что единственное, что вам нужно, это его возвращаемое значение. ! в начале инвертирует статус выхода для всего конвейера.)

Отредактировано для добавления: В качестве альтернативы, если вы хотите сделать это в «чистом Bash» (вместо вызова grep), вы можете написать:

[[ $(/usr/local/bin/monit --version) != *5.5* ]]

([[...]] объясняется в & sect; 3.2.4.2 «Условное Constructs "в справочном руководстве Bash . *5.5* аналогичен файловым файлам: ноль или более символов плюс 5.5, плюс ноль или более символов.)

83
ответ дан ruakh 25 August 2018 в 00:20
поделиться

Проверьте возвращаемое значение grep:

sudo service xyz status | grep 'not' &> /dev/null
if [ $? == 0 ]; then
   echo "whateveryouwant"
fi

Я бы порекомендовал cron, он отлично работает со стеком SALT

0
ответ дан Matzy 25 August 2018 в 00:20
поделиться
[ $(/usr/local/bin/monit --version) == "5.5" ] 

eg-1: проверить успех

[ $(/usr/local/bin/monit --version) == "5.5" ] && echo "OK"

eg-2: проверить наличие отказа

    [ $(/usr/local/bin/monit --version) == "5.5" ] || echo "NOT OK"

или просто проверить, содержит ли вывод 5.5:

[[ $(/usr/local/bin/monit --version) =~ "5.5" ]] || echo "NOT OK"
21
ответ дан perreal 25 August 2018 в 00:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: