Executar Shell

1. Executar Shell

Fabio Diniz
dinitos

(usa Nenhuma)

Enviado em 18/09/2007 - 20:48h

Fala Galera!

Estou desenvolvendo um script, aonde ele fará uma varredura em busca da existência de determinados arquivos e no final ele deverá chamar um outro script.

Como faço isso?
Executar um Shell dentro de outro...

Abraços
Diniz


  


2. Re: Executar Shell

Bruno Lopes
blopesvieira

(usa Debian)

Enviado em 18/09/2007 - 20:53h

Basta chamar o segundo script no fim do primeiro, é a maneira mais simples.


3. Re: Executar Shell

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 18/09/2007 - 20:54h

Ué, é só executar ele normalmente!!

Supondo que o primeiro se chame script1.sh e o segundo se chame script2.sh, ambos em /tmp:

chmod a+x /tmp/script1.sh
chmod a+x /tmp/script2.sh

No final do script1.sh tem:
/tmp/script2.sh

Só isto!

Se tu executar:
/tmp/script1.sh

Tudo funciona!

Tiveste alguma dificuldade com isto?
Será que não era a falta das permissões a+x?


4. Executar Shell 2

Fabio Diniz
dinitos

(usa Nenhuma)

Enviado em 18/09/2007 - 21:13h

Puxa galera não consegui segue script para vcs derem uma olhada:

#!/bin/ksh

#echo $0
chmod a+x /dstage/etl/vfi/scrp/ob_motor_v9.sh
chmod a+x /dstage/etl/vfi/scrp/ob_motor_v8.sh

dir_appl=/dstage/etl/vfi/scrp/FileValidationV2/
lista_teste="${dir_appl}./filevalidation.ini ${dir_appl}OB.csv ${dir_appl}tessy.csv"

comando="cd $dir_appl"
log_msg="Executando Comando: $comando "
log_time=`date '+%d/%m/%Y %H:%M:%S - '`
echo "$log_time ${log_msg};"
echo "$log_time ${log_msg};" >> $arq_log
$comando
r=$?
if [ $r != 0 ]
then
log_msg="Erro Fatal - Nao foi possivel executar o comando: $comando "
log_time= `date '+%d/%m/%Y %H:%M:%S - '`
echo "$log_time ${log_msg};"
echo "$log_time ${log_msg};" >> $arq_log
exit $r
fi

for arq_atual in `echo $lista_teste`
do
log_msg="Verificando arquivo: $arq_atual"
log_time=`date '+%d/%m/%Y %H:%M:%S -'`
echo "$log_time ${log_msg};"
echo "$log_time ${log_msg};" >> $arq_log
head -1 $arq_atual > /dev/null
r=$?
if [ $r != 0 ]
then
log_msg="Erro Fatal - Nao foi possivel acessar o arquivo: $arq_atual"
log_time=`date '+%d/%m/%Y %H:%M:%S -'`
echo "$log_time ${log_msg};"
echo "$log_time ${log_msg};" >> $arq_log
exit $r
fi
done

comando="./filevalidation.ini $DATREF $ARQENT $ARQLOG $ARQREL $ARQOUT $SIGSIS"
log_msg="Executando Comando: $comando "
log_time=`date '+%d/%m/%Y %H:%M:%S -'`
echo "$log_time ${log_msg};"
echo "$log_time ${log_msg};" >> $arq_log
$comando
r=$?
if [ $r != 0 ]
then
log_msg="Erro Fatal - A execucao do arquivo nao foi concluida com sucesso (${comando}) "
log_time=`date '+%d/%m/%Y %H:%M:%S -'`
echo "$log_time ${log_msg};"
echo "$log_time ${log_msg};" >> $arq_log
# exit $r
fi


/dstage/etl/vfi/scrp/ob_motor_v8.sh



5. Re: Executar Shell

Thiago
Henpi

(usa Outra)

Enviado em 18/09/2007 - 21:20h

Como executa o tal de Shell no Ubuntu 7.04?


6. Re: Executar Shell

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 18/09/2007 - 21:22h

Teu script tem uma série de exits condicionais (se tal coisa ocorre, ENCERRA).

É provável que ele esteja MORRENDO em um destes exits antes de chegar na linha que executa o teu outro script.

Sugestão:
põe um echo "To saindo 1"

Antes de cada exit para tu ver o que tá acontecendo.


7. Re: Executar Shell

Fabio Diniz
dinitos

(usa Nenhuma)

Enviado em 18/09/2007 - 21:37h

Fala Galera!

Valeu pela ajuda deu certo meu script chama o próximo.

Valeu!
Peço paciência pois farei muitas perguntas simples pois sou INICIANTE.

Abraços,
Diniz / SP






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts