
raphaels
(usa Ubuntu)
Enviado em 09/10/2012 - 11:43h
Olá eu trabalho numa software House daqui de londrina-PR e preciso fazer um script para um cliente para renomeação de arquivos gz para um padrão estipulado por eles,o script em si esta funcionando mais foi pedido para fazer um verificação caso arquivo .gz já exista perguntar se quer substituir ou não o arquivo,mais está dando erro quanto entra no if da resposta da pergunta e tirando esse if deixando só pergunta e o read resp ele ignora nem aparece a pergunta para mim,na execução do script.
como resolver isso?
#!/bin/bash
DIA=`date +%d`
MES=`date +%m`
CONT=1
ls *.gz | while read ARQ
do
if (($CONT <= 9))
then
if [ -e antigos/0$CONT$DIA$MES.gz ]
then
echo -n "Esse arquivo já existe deseja substituir?"
read RESP
if [ $RESP = "sim" ]
then
mv "$ARQ" "antigos/0$CONT$DIA$MES.gz"
CONT=`expr $CONT + 1`
else
echo "O arquivo não foi substituído"
fi
else
mv "$ARQ" "antigos/0$CONT$DIA$MES.gz"
CONT=`expr $CONT + 1`
fi
else
if [ -e antigos/$CONT$DIA$MES.gz ]
then
echo -n "Esse arquivo já existe deseja substituir?"
read RESP
if [ $RESP = "sim" ]
then
mv "$ARQ" "antigos/$CONT$DIA$MES.gz"
CONT=`expr $CONT + 1`
else
echo "O arquivo não foi substituído"
fi
else
mv "$ARQ" "antigos/$CONT$DIA$MES.gz"
CONT=`expr $CONT + 1`
fi
fi
done
segue o erro da execução do script.
raphael@inf-001:~/teste bassani$ ./scriptbassani.sh
Esse arquivo já existe deseja substituir?./scriptbassani.sh: linha 14: [: número excessivo de argumentos
O arquivo não foi substituído
Esse arquivo já existe deseja substituir?O arquivo não foi substituído
Esse arquivo já existe deseja substituir?./scriptbassani.sh: linha 14: [: número excessivo de argumentos
O arquivo não foi substituído
Esse arquivo já existe deseja substituir?./scriptbassani.sh: linha 14: [: número excessivo de argumentos
O arquivo não foi substituído
Esse arquivo já existe deseja substituir?./scriptbassani.sh: linha 14: [: número excessivo de argumentos
O arquivo não foi substituído
Esse arquivo já existe deseja substituir?O arquivo não foi substituído
Esse arquivo já existe deseja substituir?O arquivo não foi substituído
Esse arquivo já existe deseja substituir?./scriptbassani.sh: linha 14: [: =: esperado operador unário
O arquivo não foi substituído
raphael@inf-001:~/teste bassani$
Obrigado
Raphael Silva