filman
(usa Outra)
Enviado em 22/06/2011 - 15:51h
Olá pessoal, sou novo aqui no forum e gostaria da ajuda de vocês
Tenho um script que deveria verificar a existencia de dois arquivos e compara-los
1 - verificar existencia dos arquivos.
2 - se os dois existirem atribui um valor para a variavel
3 - se existir um só verifica qual e atribui um valor para variavel
Se abaixo o meu script:
#!/bin/ksh
#
#---------------------------------------------------------
# SCRIPT PARA DESCOMPACTAR OS ARQUIVOS (F999 E G999)
# AUTOR: JONATHAN FERNANDO FILMAN - DATA: 21/03/2011
# ATUALIZADO EM: 21/06/2011
#----------------------------------------------------------
#
Movt=$1
rms_dbw=/home
Data=`date '+%d-%m-%y'`
Hora=`date '+%H:%M'`
FGMsg1="Arquivos inexistente para descompactacao ${Data} - ${Hora} ."
FGMsg2="Descompactacao realizada com sucesso. ${Data} - ${Hora} ."
FGMsg3="Arquivo ->F999${Movt}.Z<- inexistente para descompactacao ${Data} - ${Hora} ."
FGMsg4="Arquivo ->G999${Movt}.Z<- inexistente para descompactacao ${Data} - ${Hora} ."
FGMsg5="Arquivo ->F999${Movt}.Z<- existente para descompactacao ${Data} - ${Hora} ."
FGMsg6="Arquivo ->G999${Movt}.Z<- existente para descompactacao ${Data} - ${Hora} ."
FGMsg7="Descompactacao cancelada pelo usuario. ${Data} - ${Hora} ."
FGMsg8="Descompactacao descontinuada. Falta de parametros. ${Data} - ${Hora} ."
Log_ImpCar="/home/jonathan/impcar_fg.log"
#
#
#---------------------------------
# Confirma a existencia do LOG
#---------------------------------
#
#
if [ -f $Log_ImpCar ]; then
echo "\n-------------------------------------------------------------------------------" >> $Log_ImpCar
echo "INICIALIZANDO SCRIPT IMPCAR" >> $Log_ImpCar
else
echo "INICIALIZANDO SCRIPT IMPCAR" >> $Log_ImpCar
fi
#
#
#---------------------------------
# Confirma a existencia dos dados
#---------------------------------
#
if (($# != 1)) then
tput sgr 0
tput cup 4 0
echo "\n\n"
echo " ===================================================\n"
echo " PROCESSO DE IMPRESSAO FOI DESCONTINUADO\n"
echo " ==================================================="
echo " Falta de parametros, data nao informada !\n\n"
echo " informacao de DATA..: para descompactacao do F e G!\n\n"
echo " Tecle [ENTER] para continuar\c"
echo ${FGMsg8} >> $Log_ImpCar
read lixo
clear
exit
fi
#
#
#---------------------------------------
# Verificando a existencia dos arquivos
#---------------------------------------
#
#
if [ -e ${rms_dbw}/F999${Movt}.Z ]; then
echo ${FGMsg5} >> $Log_ImpCar
echo ${FGMsg4} >> $Log_ImpCar
Valor=2
echo ${Valor} >> $Log_ImpCar
elif [ -e ${rms_dbw}/G999${Movt}.Z ]; then
echo ${FGMsg6} >> $Log_ImpCar
echo ${FGMsg3} >> $Log_ImpCar
Valor=1
echo ${Valor} >> $Log_ImpCar
elif [ -e ${rms_dbw}/F999${Movt}.Z ]; then
if [ -e ${rms_dbw}/G999${Movt}.Z ]; then
echo "ARQUIVOS PARA DECOMPACTACAO. F999${Movt}.Z e G999${Movt}.Z OK!" >> $Log_ImpCar
Valor=3
echo ${Valor} >> $Log_ImpCar
fi
else
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ====================================================\n"
echo " PROCESSO DE IMPRESSAO FOI DESCONTINUADO\n"
echo " ====================================================\n"
echo " Arquivos F999${Movt}.Z e G999${Movt}.Z inexistentes!\n\n"
echo " TECLE [ENTER] PARA CONTINUAR\c"
echo ${FGMsg1} >> $Log_ImpCar
echo "\n"
read lixo
clear
fi
#
#
#---------------------------------------
# Validando os tipos de descompactacao
#---------------------------------------
#
#
if [ $Valor -eq 3 ]; then
while true
do
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ==========================================\n"
echo " CONFIRMA A DESCOMPACTACAO DOS ARQUIVOS\n"
echo " ==========================================\n"
echo " F999${Movt}.Z e G999${Movt}.Z\n"
echo " Digite [S]im e [N]ao\c"
echo "\n"
read impri
case $impri in
s|S) impri=1;
break;;
n|N) impri=0;
break;;
*) echo "DADOS ERRADOS! INFORME APENAS [S/N]!"
continue;;
esac
done
if [ $impri -eq 0 ]
then
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ==============================================\n"
echo " DESCOMPACTACAO IMTERROMPIDA PELO USUARIO\n"
echo " ==============================================\n"
echo " descompactacao cancelada!\n\n"
echo " TECLE [ENTER] PARA CONTINUAR\c"
echo "\n"
echo ${FGMsg7} >> $Log_ImpCar
read lixo
clear
exit
else
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ===============================================\n"
echo " DESCOMPACTACAO DOS ARQUIVOS INICIADA !!!\n"
echo " ===============================================\n"
echo "\n\n"
echo " Aguarde....."
sleep 1
uncompress ${rms_dbw}/F999${Movt}.Z
uncompress ${rms_dbw}/G999${Movt}.Z
echo ${FGMsg2} >> $Log_ImpCar
echo "\n"
fi
elif [ $Valor -eq 2 ]; then
while true
do
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ==========================================\n"
echo " CONFIRMA A DESCOMPACTACAO DO ARQUIVO\n"
echo " ==========================================\n"
echo " F999${Movt}.Z\n"
echo " Digite [S]im e [N]ao\c"
echo "\n"
read impri
case $impri in
s|S) impri=1;
break;;
n|N) impri=0;
break;;
*) echo "DADOS ERRADOS! INFORME APENAS [S/N]!"
continue;;
esac
done
if [ $impri -eq 0 ]
then
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ==============================================\n"
echo " DESCOMPACTACAO IMTERROMPIDA PELO USUARIO\n"
echo " ==============================================\n"
echo " descompactacao cancelada!\n\n"
echo " TECLE [ENTER] PARA CONTINUAR\c"
echo "\n"
echo ${FGMsg7} >> $Log_ImpCar
read lixo
clear
exit
else
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ===============================================\n"
echo " DESCOMPACTACAO DO ARQUIVO INICIADA !!!\n"
echo " ===============================================\n"
echo "\n\n"
echo " Aguarde....."
sleep 1
uncompress ${rms_dbw}/F999${Movt}.Z
echo ${FGMsg2} >> $Log_ImpCar
echo "\n"
fi
elif [ $Valor -eq 1 ]; then
while true
do
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ==========================================\n"
echo " CONFIRMA A DESCOMPACTACAO DO ARQUIVO\n"
echo " ==========================================\n"
echo " G999${Movt}.Z\n"
echo " Digite [S]im e [N]ao\c"
echo "\n"
read impri
case $impri in
s|S) impri=1;
break;;
n|N) impri=0;
break;;
*) echo "DADOS ERRADOS! INFORME APENAS [S/N]!"
continue;;
esac
done
if [ $impri -eq 0 ]
then
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ==============================================\n"
echo " DESCOMPACTACAO IMTERROMPIDA PELO USUARIO\n"
echo " ==============================================\n"
echo " Descompactacao cancelada!\n\n"
echo " TECLE [ENTER] PARA CONTINUAR\c"
echo "\n"
echo ${FGMsg7} >> $Log_ImpCar
read lixo
clear
exit
else
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ===============================================\n"
echo " DESCOMPACTACAO DO ARQUIVO INICIADA !!!\n"
echo " ===============================================\n"
echo "\n\n"
echo " Aguarde....."
sleep 1
uncompress ${rms_dbw}/G999${Movt}.Z
echo ${FGMsg2} >> $Log_ImpCar
echo "\n"
fi
fi
#
#
clear
tput sgr 0
tput cup 5 0
echo "\n\n"
echo " ===============================================\n"
echo " FIM DA EXECUCAO\n"
echo " ===============================================\n"
echo " TECLE [ENTER] PARA SAIR\c"
echo "\n"
read lixo
clear
exit
O erro que esta dando é que? o procedimento esta passando somente no entrada do IF o resto não esta fazendo nada.
O que devo fazer?
Obrigado