Итак, это суть: у меня есть скрипт, который выполняет различные команды.проверить вывод команды в скрипте оболочки и прервать при необходимости
Одна из этих команд возвращает несколько протоколов, касающихся выполняемой операции. Я хотел бы перехватить этот журнал и остановить скрипт, если есть ошибка. Поскольку следующие операции в скрипте привязаны к успеху этой операции, нет смысла запускать весь скрипт, когда вы получаете ошибку на этом этапе.
Эта команда запускается на удаленном компьютере через ssh; идея заключалась бы в том, чтобы остановить скрипт, как только команда ssh завершится, и элемент управления вернется к сценарию
Есть ли простой способ проверить вывод команды, которая запущена в сценарии оболочки? Я мог бы перенаправить вывод в файл и проанализировать его, но это, похоже, добавляет много работы в скрипт; в то время как мне нужно вызвать выход только в случае ошибок в команде ssh.
Что вы предложите выполнить эту задачу?
Большое значение. Команда не возвращает код ошибки грустно; поэтому я должен искать определенные ключевые слова, которые будут отображаться в журналах, которые показывают, что что-то пошло не так в удаленной операции и прервало скрипт. Большое спасибо, я попробую! –
Работает частично; все в порядке, за исключением того, что в журналах я просто вижу напечатанную строку ошибки; в то время как мне нужно сохранить полный журнал, а не только строку ошибки. Таким образом, в основном команда запускается, печатает кучу строк журнала во время работы, и мне тоже нужно напечатать эти строки. Почему он печатает только строку ошибки? Потому что выход проходит через grep? –
Это правильно - потому что мы передаем результат через grep, мы отфильтровываем все, что не соответствует. Если вам нужно сохранить * all * вывод, выгрузите его в файл, а затем файл 'grep'. – larsks