Comando IF... Veja!!!!!! [RESOLVIDO]

1. Comando IF... Veja!!!!!! [RESOLVIDO]

joao
jltds

(usa Red Hat)

Enviado em 19/07/2012 - 10:38h

bom dia, estou com uma duvida em um shell scritp poderia verificar ... sou iniciante .

veja meu if... quero que passe para proxima etapa depois que o comando ctrlplan.scr for realizado com sucesso ai sim ele ira copiar os arquivos.

como devo fazer???


#! /bin/bash

# Apontar para o ESSCMD do Essbase, script deve ser executado pelo usuario: webuser

cd /appl/hyperion/products/Essbase/EssbaseServer
. /home/webuser/.bash_profile

cd /appl/hyperion/scriptBkp

# Variaveis
destino=/appl/hyperion/products/Essbase/EssbaseServer/app/
bkp=/appl/hyperion/products/Essbase/EssbaseServer/app/CTRLPlan/
bkpPath=/appl/hyperion/backupEssbase
log=$bkpPath/script_forecast_`date +%a`.log
forecast=/appl/hyperion/products/Essbase/EssbaseServer/app/CTRLPlan/forecast_`date +%d%m`

mkdir $forecast >> $log


echo "----------------------------------------------------------"
echo ""
echo " Back-up CTRLPAN - Hot BKP FULL - Forecast"
echo ""
echo "----------------------------------------------------------"


cd /appl/hyperion/products/Essbase/EssbaseServer/bin

ESSCMD CTRLPlan.scr >> $log

if [ $? -ne 0 ]
then
echo "Falha ao executar o exporte full da aplicacao CTRLPlan" >> $log

fi

cd /appl/hyperion/products/Essbase/EssbaseServer/app/CTRLPlan/

cp $bkp/*.txt $forecast

rm $bkp/*.txt


echo "HOT BACKUP FULL IS COMPLET" >> $log

exit


  


2. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 19/07/2012 - 10:46h

Como vc fez assim não funcionou?:

ESSCMD CTRLPlan.scr >> $log

if [ $? -ne 0 ]
then

Esse comando "ESSCMD CTRLPlan.scr" e assim mesmo que usa, com letras maiúsculas e minusculas?

Se executar seu script com o bash -x nome_script vc vai ver os detalhes da execução e poderá encontrar problemas com mais facilidade.


3. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

joao
jltds

(usa Red Hat)

Enviado em 19/07/2012 - 10:58h

sim eu chamo aquele executavel que ira rodar aquele scr.

ali ira gerar uns txts, mas o que preciso e ter certeza que foi criado os txts , assim posso continuar os passos abaixo.




4. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 19/07/2012 - 11:00h

Quando é variável do sistema, o certo não seria if [ $? != 0 ]? Não sei se estou certo disso...


5. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 19/07/2012 - 11:02h

Se problema é que o txt vai ser gerado independente de sucesso ou erro

>> $log

O melhor é analisar o resultado do conteúdo do arquivo.

Mas após a execução desse programa, uma validação do $? ja basta, como vc está fazendo...

Teste se a execução delete sem o >> $log, qual sera o conteúdo de $?

echo $?

Depois teste usando o redirecionador >> $log

Abraços


6. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 19/07/2012 - 11:04h

renato_pacheco escreveu:

Quando é variável do sistema, o certo não seria if [ $? != 0 ]? Não sei se estou certo disso...


O certo é como ele fez mesmo, [ $? -ne 0 ] (ne : não igual), o != é usado em outras linguagens...




7. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 19/07/2012 - 11:08h

rai3mb escreveu:

O certo é como ele fez mesmo, [ $? -ne 0 ] (ne : não igual), o != é usado em outras linguagens...



Sobre o -ne eu já sabia seu significado. Acontece q em certas ocasiões usa-se o sinal d igual. Por isso q pensei dessa forma.


8. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 19/07/2012 - 11:11h

renato_pacheco escreveu:

rai3mb escreveu:

O certo é como ele fez mesmo, [ $? -ne 0 ] (ne : não igual), o != é usado em outras linguagens...



Sobre o -ne eu já sabia seu significado. Acontece q em certas ocasiões usa-se o sinal d igual. Por isso q pensei dessa forma.


Retiro o que disse ;-), o != também funciona..., mas no caso o problema do tópico está mais pra identificar o que aquele programa externo retorna, mas basta o nosso amigo fazer alguns testes...


9. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

joao
jltds

(usa Red Hat)

Enviado em 19/07/2012 - 11:12h

blz pessoal vou testar

outra coisa

se quiser depois de tudo copiar os arquivos criado para outro servidor ... mas o servidor windows.

tem como?



10. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 19/07/2012 - 11:16h

Sim, podes usar:

samba cliente (smbclient)
ftp
envio por email
etc


11. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 19/07/2012 - 11:16h

jltds escreveu:

blz pessoal vou testar

outra coisa

se quiser depois de tudo copiar os arquivos criado para outro servidor ... mas o servidor windows.

tem como?


Sim. Ae vc teria q montar um compartilhamento Windows no seu Linux. Um exemplo d comando:


mount -t cifs //IP_MAQUINA/NOME_COMPARTILHAMENTO /PONTO/DE/MONTAGEM -o username=USUARIO,password=SENHA,domain=DOMINIO


E depois fazer a cópia normalmente pro ponto d montagem citado.


12. Re: Comando IF... Veja!!!!!! [RESOLVIDO]

João Paulo Carneiro
jptudobem

(usa Debian)

Enviado em 19/07/2012 - 11:17h

rai3mb escreveu:

renato_pacheco escreveu:

Quando é variável do sistema, o certo não seria if [ $? != 0 ]? Não sei se estou certo disso...


O certo é como ele fez mesmo, [ $? -ne 0 ] (ne : não igual), o != é usado em outras linguagens...



O uso dos dois tem o mesmo efeito nesse caso, porém, em shell script, o "= e !=" é usado para manipulação de strings e o "-ne e -eq" para manipulação de valores numéricos.





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts