1
resposta

script do curso não roda no meu terminal.

O código abaixo foi copiado da aula 03 do curso Curso Shell Scripting parte 1. Quando executo o script da erro (em loop) no terminal :

find: paths must precede expression: `de'

e o script não roda. Alguém sabe porque do erro ?

#!/bin/bash

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 for arquivo in * do local caminho_arquivo=$(find ~Downloads/imagens-novos-livros -name $arquivo) if [ -d $caminho_arquivo ] then varrer_diretorio $caminho_arquivo else converte_imagem $caminho_arquivo fi done }

varrer_diretorio ~/Downloads/imagens-novos-livros if [ $? -eq 0 ] then echo "Conversão realizada com sucesso" else echo "Houve um problema na conversão" fi

1 resposta

Olá Gustavo,

Vamos fazer um teste, altere a linha

$(find ~Downloads/imagens-novos-livros -name $arquivo)

para

$(find ~Downloads/imagens-novos-livros -name '$arquivo')

Note, que somente acrescentei aspas simples em $arquivo, tente executar desta forma.