Neste seguinte trecho de código, repare no comando find
:
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
}
ele procura o arquivo dentro do diretório fixo ~/Downloads/imagens-novos-livros
. Se abaixo deste diretório houver mais de um arquivo com o mesmo nome, o find retornará todos.
A busca não deveria ser feita no diretório fixo, e sim no diretório que foi passado como parâmetro ($1
) e de alguma forma não buscar recursivamente mas sim olhar somente no diretório atual pois em um diretório abaixo pode haver outro arquivo com o mesmo nome.
Talvez a forma mais fácil seja obter o caminho do arquivo através de concatenar o parâmetro da função (caminho atual) com a variável arquivo do for, algo como: caminho_arquivo=$("${1}/${arquivo}")
.