script do flexget [RESOLVIDO]

1. script do flexget [RESOLVIDO]

jefferson braga de oliveira
bragatrosco

(usa Ubuntu)

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


  


2. Re: script do flexget [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

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]

jefferson braga de oliveira
bragatrosco

(usa Ubuntu)

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]

jefferson braga de oliveira
bragatrosco

(usa Ubuntu)

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]

Paulo
paulo1205

(usa Ubuntu)

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]

jefferson braga de oliveira
bragatrosco

(usa Ubuntu)

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]

jefferson braga de oliveira
bragatrosco

(usa Ubuntu)

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.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts