Como parar a cauda -f exceto usar kill

0

Eu quero escrever um script de shell para detectar se meu programa é iniciado com sucesso.

Existe um arquivo de log criado pelo programa. Quando o arquivo de log contiver uma nova linha: Server startup in , pare o comando bash.

Encontrei uma solução com kill :

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

Mas isso não está funcionando quando eu o coloco no meu trabalho de Jenkins, existe algum outro método para resolver esse problema?

    
por Jason 29.04.2015 / 10:13

1 resposta

0

Tente isso:

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

Ele procurará a sequência em logfile e grep sairá silenciosamente depois que a primeira nova linha que contém a sequência aparecer. Assim que o comando sair, a string é encontrada e você pode continuar o script.

    
por 29.04.2015 / 10:37