Pular para o conteúdo

Erro no Shell Script [RESOLVIDO]

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 13:49h

Boa tarde!
Galera estou com o seguinte erro "linha 8: erro de sintaxe: fim prematuro do arquivo" mas o meu script de teste só contem o código abaixo de 7 linhas, agradeço a colaboração para poder identificar o erro


#!bin/bash
DIR=/media/BACKUP/tmp/aquivo
if [ -d $DIR ]; then
mkdir /media/BACKUP/tmp/arquivo
else
echo "PASTA JÁ EXISTENTE !!!"
fi

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 14:29h

Boa tarde, ta faltando uma barra em #!bin/bash

o correto

#!/bin/bash

3. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 14:43h

Outro detalhe para verificar se o diretório existe...


if [ ! -d $DIR ]; then

4. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 15:13h

Execute o comando:

sh -x script

Este é o modo de debbug. Vai dar para você ver o erro.

5. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 15:16h


fiz os ajuste que vcs falaram e ainda apresenta o erro

Syntax error: end of file unexpected (expecting "then")

6. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 15:35h

Com os ajuste o código ficou assim


#!/bin/bash
DIR=/media/BACKUP/tmp/arquivo
if [ ! -d $DIR ]; then
mkdir /media/BACKUP/tmp/arquivo
else
echo "PASTA JÁ EXISTENTE !!!"
fi


o erro apresentado:
./teste.sh: 9: ./teste.sh: Syntax error: end of file unexpected (expecting "then")


7. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 17:58h

Você tem permissões para alterar o caminho destino ou você está executando o script como root?

8. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 18:52h

Tenho as permissões, já tentei como root e como user

9. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 05/12/2014 - 19:19h

Não tenho certeza , mas acho que o erro se refere ao '{ESPAÇO}' entre o ';' e o 'then'

Tente assim :


#!/bin/bash

DIR="/media/BACKUP/tmp/arquivo"
if [ ! -d $DIR ]
then
mkdir $DIR
else
echo "PASTA JÁ EXISTENTE !!!"
fi


Recomendo você endentar o seu código. Qual dos dois é mais legível :


if [ alguma comparacao]
then
#ComandosExecutados
else
#OutrosComandos
fi



if [ alguma comparacao]
then
#ComandosExecutados
else
#OutrosComandos
fi


Com certeza o segundo. Utilize o '{TAB}' ou 4 '{ESPAÇO}' , agora se for composto , continue com mais '{TAB}' ou '{ESPAÇO}' , algo assim :


# Note o exemplo , pulando uma linha
if [ -d / ]
then
echo "Existe a pasta raiz ('/')"
# Note o outro exemplo , com o ';'
if [ -d /dev/ ];then
echo "Existe o /dev/"
else
echo "Não Existe o /dev/"
fi
else
echo "Não existe a pasta raiz ('/')"
fi


Espero ter ajudado

[]'s

T+

10. Re: Erro no Shell Script [RESOLVIDO]

Enviado em 08/12/2014 - 13:50h

Obrigado a todos!
Vou seguir as orientações passadas.

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder