Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Deu ruim no meu script

Eu fiz o meu código da forma que tá na aula, mas não deu certo pra mim

#!/bin/bash

converte_imagem(){
    local caminho_imagem=$1
    local imagem_sem_ext=(ls $caminho_imagem | awk -F. '{ print $1}')
    convert $imagem_sem_ext.jpg $imagem_sem_ext.png
}

varre_arquivo(){
    cd $1
    for arquivo in *
    do
        local caminho_arquivo=$(find ~/Downloads/imagens-novos-livros -name $arquivo)
        if [ -d $caminho_arquivo ]
        then
            varre_arquivo $caminho_arquivo
        else
            converte_imagem $caminho_arquivo
        fi
    done
}

varre_arquivo ~/Download/imagens-novos-livros

if [ $? -eq 0]
then
    echo "Conversão feita com sucesso."
else
    echo "Houve problemas, a conversão não pode ser concluida."
fi

no terminal da esse erro

/home/luke/Scripts/conversor.sh: conversor.sh: linha 5: erro de sintaxe próximo ao token inesperado `|'                                      
/home/luke/Scripts/conversor.sh: conversor.sh: linha 5: `    local imagem_sem_ext=(ls $caminho_imagem | awk -F. '{ print $1}')'
convert-im6.q16: unable to open image `.jpg': Arquivo ou diretório não encontrado @ error/blob.c/OpenBlob/2874.
convert-im6.q16: no decode delegate for this image format `' @ error/constitute.c/ReadImage/560.
convert-im6.q16: no images defined `.png' @ error/convert.c/ConvertImageCommand/3258.
/home/luke/Scripts/conversor.sh: conversor.sh: linha 7: erro de sintaxe próximo ao token inesperado `}'
/home/luke/Scripts/conversor.sh: conversor.sh: linha 7: `}'

tô confuso, porque não tô conseguindo achar o que tá errado, alguém pode me ajudar por favor?

2 respostas
solução!

faltou o $ nessa parte: local imagem_sem_ext=(ls $caminho_imagem | awk -F. '{ print $1}')

o certo seria:

local imagem_sem_ext=$(ls $caminho_imagem | awk -F. '{ print $1}')

Ahh tá, vlw amigo, muito obrigado