Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
2
respostas

Erro na conversão

Bom dia segue o codigo abaixo:

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

varrer_diretorio(){

cd $1 ##vai sempre entrar no diretorio passado pelo parametro

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

}

varrer_diretorio ~/Downloads/imagens-livros if [ $? -eq 0 ] then echo "Conversao realizada com sucesso" else echo "Houve algum problema com a conversao" fi

o erro apresentado foi:

rodrigo@RodrigoSoares:~/Scripts$ bash conversao-novos-livros.sh conversao-novos-livros.sh: linha 16: [: /home/rodrigo/Downloads/imagens-livros/algoritmos.png: esperava operador binário

não consegui encontrar o erro.

Obrigado pelo apoio.

2 respostas

Boa noite amigo! Creio que vc já tenha algum vicio em programação haha!

seu bloco do if está trazendo then embaixo e não está trazendo o ponto e virgula, fica assim:

if [ -d $caminho_arquivo ] ; then varrer_diretorio $caminho_arquivo else converte_imagem $caminho_arquivo fi

Como vc já praticou em outra linguagem deve ter deixado passar esse detalhe que é diferente no linux...

Voa!!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software