Pular para o conteúdo

script do flexget [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. script do flexget [RESOLVIDO]

Enviado em 17/06/2014 - 18:54h

Este script faz parte de um template do Flexget e está dando algumas mensagens de erro de sintaxe, sou leigo em programação e peço a algum colega da área que me diga como arrumá-lo.

#!/bin/sh

EXISTS_SERIES="/Users/flexget/.flexget/exists_series"
VOLUMES=(
"/Users/flexget/Movies/Series/"
"/Volumes/media.video/TV-Series/"
"/Volumes/My Book Media/00 Series/"
)

rm -rf "$EXISTS_SERIES/"
mkdir -p "$EXISTS_SERIES/"

for i in ${!VOLUMES[@]}; do
VOLUME=${VOLUMES[$i]}
if [ -d "$VOLUME" ]; then
ln -s "$VOLUME" "$EXISTS_SERIES/folder$i"
else
mkdir -p "$EXISTS_SERIES/folder$i"
fi
done

Responder tópico

2. Re: script do flexget [RESOLVIDO]

Enviado em 17/06/2014 - 19:07h

O problema do script é assumir que /bin/sh é idêntico a /bin/bash. Isso é verdade no RedHat e assemelhados, mas falso em quase todo o resto do universo.

Para corrigir, troque apenas, na primeira linha, "sh" por "bash".

3. Re: script do flexget [RESOLVIDO]

Enviado em 17/06/2014 - 20:27h

Segui sua sugestão mas agora quando o script é executado retorna esta mensagem:
sh: ./manage_exists_series.sh: not found
infelizmente...

4. Re: script do flexget [RESOLVIDO]

Enviado em 17/06/2014 - 20:32h

Tentei executar com o bash e veio esta mensagem:
bash: ./manage_exists_series.sh: /bin/bash: bad interpreter: No such file or directory

O arquivo original no sh sai esta:
./manage_exists_series.sh: line 4: syntax error: unexpected "("


5. Re: script do flexget [RESOLVIDO]

Enviado em 17/06/2014 - 23:52h

Exatamente porque a sintaxe de definir arrays usando uma lista de elementos entre parênteses, que é um recurso do bash que não existe no sh, foi que eu lhe disse para trocar desse para aquele.

Pelo que você diz, parece que a sua máquina não tem o bash. Em se tratando de Linux, isso é meio estranho, pois geralmente o bash é o shell padrão da maioria esmagadora das distribuições. Tem certeza de que não existe o programa /bin/bash na sua instalação? Que distribuição você está usando?

6. Re: script do flexget [RESOLVIDO]

Enviado em 18/06/2014 - 11:08h

paulo1205 escreveu:

Exatamente porque a sintaxe de definir arrays usando uma lista de elementos entre parênteses, que é um recurso do bash que não existe no sh, foi que eu lhe disse para trocar desse para aquele.

Pelo que você diz, parece que a sua máquina não tem o bash. Em se tratando de Linux, isso é meio estranho, pois geralmente o bash é o shell padrão da maioria esmagadora das distribuições. Tem certeza de que não existe o programa /bin/bash na sua instalação? Que distribuição você está usando?
Me desculpe Paulo, deveria ter colocado isto no início, eu abandonei definitivamente o Windows a apenas 3 meses portanto sou bem imaturo ainda com o sistema mas sempre disposto a aprender, tanto que comecei com o Ubuntu e de saída instalei o Systemback para arrumar qualquer besteira, voltando ao que interessa o script que estou tentando rodar deve criar links simbólicos para os conteúdos das volumes, ambas as partições são de um hd plugado em um Router ASUS RT-N16, com Tomato Kernel 2.6.22.19 e optware com sh padrão, instalei o bash (através de tutorial da wiki do Tomato)após sua dica mas como disse também não resolveu, as mensagens que tenho são as mesmas que coloquei anteriormente.

7. Re: script do flexget [RESOLVIDO]

Enviado em 18/06/2014 - 12:34h

Era isto Paulo, no optware o caminho é : #! /opt/bin/bash. Resolvido. Obrigado pela ajuda, é essencial para quem está começando.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder