erro de sintaxe: fim de arquivo inesperado [RESOLVIDO]

1. erro de sintaxe: fim de arquivo inesperado [RESOLVIDO]

Jefferson
Json

(usa Debian)

Enviado em 12/02/2016 - 16:44h

Pessoal quando tento executar este script fica exibindo um erro de sintaxe, no entanto já verifiquei e reescrevi este trecho varias vezes e o erro ainda persiste, segue o código


if [ $(cat /tmp/saida.txt | wc -l) -le 12 ]
then
echo "Parando o Banco"
sqlplus 'sys/oracle as sysdba' << EOF
shutdown immediate
exit
EOF

sleep 60

echo "Reiniciando o Banco"
sqlplus 'sys/oracle as sysdba' << !
startup
exit
!
else
echo "A Aplicacao Nao Foi Parada"
fi



  


2. Re: erro de sintaxe: fim de arquivo inesperado [RESOLVIDO]

Renan Arantes
R3nan

(usa Debian)

Enviado em 12/02/2016 - 16:56h

retire o sinal de ! logo apos o segundo exit


3. Re: erro de sintaxe: fim de arquivo inesperado [RESOLVIDO]

Jefferson
Json

(usa Debian)

Enviado em 12/02/2016 - 16:57h

Já tinha retirado mas não fez diferença o erro ainda aparece


4. Re: erro de sintaxe: fim de arquivo inesperado

Jefferson
Json

(usa Debian)

Enviado em 12/02/2016 - 17:51h

O curioso é que se eu executar apenas este trecho abaixo, o script executa sem nenhum problema


echo "Parando o Banco"
sqlplus 'sys/oracle as sysdba' << EOF
shutdown immediate
exit
EOF

sleep 60

echo "Reiniciando o Banco"
sqlplus 'sys/oracle as sysdba' << !
startup
exit


só aparece esse erro quando ele está dentro do if

então como sou novato no shell script(rsrs), resolvi tentar dessa maneira: o código acima inseri em um arquivo separado e criei outro para chama-lo, no entanto neste que eu criei agora me deparo com o erro -> line 1: [: missing `]'

if [ $(cat /tmp/saida.txt | wc -l) -le 12 ]
then
#vai chamar o codigo acima
vi ./oracle_access.sh
else
echo "Aplicacao nao Encerrada"
fi



5. Re: erro de sintaxe: fim de arquivo inesperado [RESOLVIDO]

Jefferson
Json

(usa Debian)

Enviado em 19/02/2016 - 15:42h

Bom depois de algumas tentativas resolvi meu problema, para alguém que interessar vou deixar abaixo a solução


if [ $(cat /tmp/saida.txt | wc -l) -le 12 ]
then
echo "Parando o Banco"

sqlplus 'sys/oracle as sysdba' <<-EOF
shutdown immediate
exit
EOF

sleep 15

echo "Reiniciando o Banco"
sqlplus '/as sysdba' <<-EOF
startup
exit
EOF
else
echo "Aplicacao nao Finalizada"
fi



Lembrando que dar ctrl c + ctrl v não funciona, deve-se escrever o script inteiro.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts