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.
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?
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.
Meu aprimoramento da @resposta do glennjackman :
#!/bin/bash
grep -q 'error' logs && { echo 7; yes c; } | start