
guilhermeof
(usa Outra)
Enviado em 22/12/2015 - 10:58h
Olá pessoal,
Estou com um problema relativamente bem simples, porém não consegui resolver.
Preciso que o script abaixo execute totalmente sem nenhuma parada. O problema é no script há troca de usuários e isso tem parado a execução.
#!/bin/bash
mv /mnt/imp_arquivos/nf*.txt /home/oracle/Desktop/arquivos/
cd /home/oracle/Desktop/arquivos/
for i in *.txt; do echo "" >> $i; done
for i in *.txt; do cat $i >> /home/oracle/Desktop/arquivos/nf_importadas.txt; done
chown oracle:oinstall -R /home/oracle/Desktop/arquivos/
chmod 775 -R /home/oracle/Desktop/arquivos/
su - oracle << EOF
sqlldr guilherme/guilherme@orcl control=/home/oracle/Desktop/arquivo.ctl log=/home/oracle/Desktop/logfile.log
exit
rm -f /home/oracle/Desktop/arquivos/nf_importadas.txt << EOF
mv /home/oracle/Desktop/arquivos/nf*.txt /mnt/imp_arquivos/processados
exit
EOF
Neste script eu preciso executar uma parte com o root e outra com o usuário oracle, exatamente na ordem dos passos acima. Como posso ajustar para que o usuário root continue a execução após o exit que é dado pra sair do usuário oracle?
Acredito que o erro esteja nos EOF, porém não consegui ajustar...
Obrigado!!