Dúvida - Shell Script [RESOLVIDO]

1. Dúvida - Shell Script [RESOLVIDO]

guilherme
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!!


  


2. Re: Dúvida - Shell Script

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 22/12/2015 - 11:13h

Basta vc acrescentar o parâmetro -c no comando su, dessa forma:


...
su - oracle -c "sqlldr guilherme/guilherme@orcl control=/home/oracle/Desktop/arquivo.ctl log=/home/oracle/Desktop/logfile.log"
su - oracle -c "rm -f /home/oracle/Desktop/arquivos/nf_importadas.txt"
su - oracle -c "mv /home/oracle/Desktop/arquivos/nf*.txt /mnt/imp_arquivos/processados"
...


Vc pode tentar com o EOF, mas não sei se funcionará.
--
Renato Carneiro Pacheco
Certificado Linux LPIC-1
Especialista em Segurança em Redes de Computadores
Graduado em Redes de Comunicação

http://br.linkedin.com/in/renatocarneirop
http://www.facebook.com/renatocarneirop

"Não acredite no que eu digo, pois é a minha experiência e não a sua. Experimente, indague e busque." - Osho Rajneesh


3. Re: Dúvida - Shell Script [RESOLVIDO]

guilherme
guilhermeof

(usa Outra)

Enviado em 22/12/2015 - 11:25h

@renato_pacheco

Excelente, funcionou!
Muito simples rsrsrs
Muito obrigado!!!

Abs.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts