Я хочу написать сценарий оболочки, чтобы определить, успешно ли запускается моя программа.

Существует файл журнала, созданный программой. Если в файле журнала есть новая строка: Server startup in , затем остановите команду bash.

Я нашел одно решение с помощью kill:

sh -c 'tail -f logfile | { sed "/Server startup in/ q" && kill $$ ;}'

Но это не работает, когда я ставлю его на работу Дженкинса, есть ли другой способ решить эту проблему?

1 ответ1

0

Попробуй это:

tail -f logfile | grep -q "Server startup in"

Он будет искать строку в logfile и grep молча выходить после появления первой новой строки, содержащей эту строку. Как только команда завершится, строка найдена, и вы сможете продолжить сценарий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .