Dúvida no script

1. Dúvida no script

ehboa
ehboa

(usa Outra)

Enviado em 07/12/2012 - 14:14h

Prezados

Estou com o seguinte problema, o scrip funciona perfeitamente até o if "if [ "$WCLAGRUP" = 0 ] && [ "$WCLDETALHA" = 0 ] ; then"

Quando o arquivo templs2 esta vazio, ou seja, quando ele não encontra nenhum arquivo, ele não escreve o echo "Estao faltando um ou mais arquivos textos e arquivos"

Ja tentei de tudo, mas não funciona, podem me ajudar?

Obrigado



PATH_SOURCE_FILES=/home/usuario
PATH_TARGET1=/home/usuario
REMOTE_SERVER=servidorx
FILE_DATE="$1"


cd $PATH_SOURCE_FILES

ls -lrt | egrep -ai "arquivos*.*$FILE_DATE|textos*.*$FILE_DATE" > $PATH_SOURCE_FILES/templs.txt; cat $PATH_SOURCE_FILES/templs.txt | awk '{print $9}' > $PATH_SOURCE_FILES/templs2.txt

WCLtex=`cat templs2.txt | grep textos | wc -l`
WCLarq=`cat templs2.txt | grep arquivos | wc -l`


for i in $(cat "$PATH_SOURCE_FILES"/templs2.txt);
do
#echo $i
if [ "$WCLAGRUP" != 0 ] && [ "$WCLDETALHA" != 0 ] ; then
scp $PATH_SOURCE_FILES/$i user@${REMOTE_SERVER}:$PATH_TARGET1;
SCP=$?
# echo "$SCP"
if [ "$SCP" != 0 ]; then
echo "O arquivo $i nao foi copiado"
else
echo "O arquivo $i foi copiado"
fi
else
if [ "$WCLAGRUP" = 0 ] && [ "$WCLDETALHA" = 0 ] ; then
echo "Estao faltando um ou mais arquivos textos e arquivos"
else
if [ "$WCLAGRUP" = 0 ]; then
echo "Esta faltando um ou mais arquivos textos"
else
echo "Esta faltando um ou mais arquivos arquivos"
fi
fi
fi
done




  


2. Re: Dúvida no script

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/12/2012 - 17:44h

Troque = (sinal de atribuição de valor) por -eq em seus testes.

BOA SORTE!!!


3. Re: Dúvida no script

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

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

Utilize o "=" desta forma "==".
Exemplo:


if [ "$WCLAGRUP" == "0" ] && [ "$WCLDETALHA" == "0" ];




4. Re: Dúvida no script

Paulo
paulo1205

(usa Ubuntu)

Enviado em 08/12/2012 - 02:45h

Eu substituiria a forma de localizar arquivos, trocando aquela construção complicada, que recorre a dois arquivos temporários intermediários, por uma invocação do comando find.

No trecho do script que você mostrou, não aparecem os momentos em que WCLAGRUP e WCLDETALHA têm seus valores definidos. Fica difícil, portanto, saber o motivo por que ocorre a falha.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts