Как остановить tail-f, кроме использования kill

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

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

Я нашел одно решение с kill:

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

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

5
задан chaos
источник

1 ответов

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

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

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

0
отвечен chaos 2015-04-29 08:37:17
источник

Другие вопросы bash linux shell shell-script