Erro em Shell Script

1. Erro em Shell Script

Vinicius Antunes da Silva
santoangelense

(usa Ubuntu)

Enviado em 29/09/2011 - 17:02h

Estou tentando fazer um script para verificar arquivos antigos no meu servidor.

Bem simples o script, mas o erro que está dando, já procurei em varios lugares e nenhum achei a solução.

O erro que aparece é o seguinte:
: bad variable name

./menu_verifica_arquivos2.sh: 20: Syntax error: word unexpected (expecting "in")



Segue script
##
#!/bin/sh
opcao=0
dia=`date +%d-%m-%y`
Principal()
{
echo "Hoje e a" $dia
echo "Relatorios de Arquivos e Exclusao de Arquivos"
echo "------------------------------------------"
echo "Opcoes:"
echo "1) Ver arquivos com 30 dias no Servidor"
echo "2) Ver arquivos com mais de 30 dias no servidor"
echo "3) Deletar arquivos com 30 dias"
echo "4) Deletar arquivos com mais de 30 dias no servidor"
echo "5) Sair do Menu"
echo -n "Qual a opcao dejada? "
echo ""
read opcao
echo ""
case $opcao in
1)Trintadias;;
2)Maisdetrintadias;;
3)Deletartrintadias;;
4)Deletarmaistrintadias;;
5)exit;;
*)"Opcaoconhecida.";
echo;
Principal;;
esac
}
Trintadias()
{
echo Relatorio de Limpeza do $dia > /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
echo "--------------------------------" >> /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
find /home/transferencia/Vinicius_TI/ -maxdepth 10 -ctime 20 >> /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
echo "--------------------------------" > /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
tail /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
Principal
}
Maisdetrintadias()
{
echo Relatorio de Limpeza do $dia > /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
echo "--------------------------------" >> /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
find /home/transferencia/Vinicius_TI/ -maxdepth 10 -ctime +20 >> /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
echo "--------------------------------" > /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
tail /home/transferencia/Vinicius_TI/arquivos_apagados$dia.log
Principal
}
Deletartrintadias()
{
find /home/transferencia/Vinicius_TI/ -maxdepth 10 -ctime 30 -exec rm -Rf {} \;
Principal
}
Deletarmaistrintadias()
{
find /home/transferencia/Vinicius_TI/ -maxdepth 10 -ctime +30 -exec rm -Rf {} \;
Principal
}
Principal



  


2. Re: Erro em Shell Script

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/09/2011 - 05:49h

aqui funciona com bash

#!/bin/bash


3. Mesmo erro

Vinicius Antunes da Silva
santoangelense

(usa Ubuntu)

Enviado em 30/09/2011 - 08:13h

Tanto para um como outro, ocorre o mesmo erro, tens outra sugestão?


4. Re: Erro em Shell Script

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/09/2011 - 15:56h

santoangelense escreveu:

Tanto para um como outro, ocorre o mesmo erro, tens outra sugestão?


Seu código tem alguns errinhos, mas nada referente a mensagem de erro que descreveu. Eu fiz alguns testes aqui e todos correram bem.

"bad variable name"

Ele não está conseguindo definir o nome da variável no case, agora porque eu já não sei, aqui funciona.

Tenta trocar o nome dessa variável.


5. Mesma coisa

Vinicius Antunes da Silva
santoangelense

(usa Ubuntu)

Enviado em 30/09/2011 - 16:17h

Enquanto aos errinhos, já descobri, mas sobre a variavel, já coloquei tudo que foi possivel.

Realmente é um misterio, não sei mais o que fazer.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts