Loop dentro do EOF - SCRIPTING do UNIX

0

Estou escrevendo um script para o início automático de um aplicativo sempre que encontramos erros nos registros.

então

#/bin/bash

if [ grep -c 'error' logs -eq 0 ] ;then
  exit
else

start <<EOF ## start is  a script which starts the application

7 
c

problema é que depois de executar "start", eu preciso digitar 7 e sempre que o script parar com o status "c-continue s-stop" ... preciso pressionar c continuamente até que "start" obtenha o status executado com sucesso. Como eu posso fazer isso?

como inserir o loop dentro do EOF ou de qualquer outra forma?

    
por user491569 02.09.2015 / 18:30

2 respostas

2

Que tal:

{ echo 7; yes c; } | start

Usa uma construção de agrupamento para permitir a saída de 2 comandos para o canal em seu script.

    
por 02.09.2015 / 18:42
1

Meu aprimoramento da @resposta do glennjackman :

#!/bin/bash

grep -q 'error' logs   &&   { echo 7; yes c; } | start
    
por 02.09.2015 / 18:58