No código abaixo apresentado em aula para a resolução do problema de converter imagens quando temos multiplas pastas
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
}
Acredito que tenha um problema que no exemplo dado pelo autor não foi coberto, caso tenhamos pastas com o mesmo nome em niveis diferentes, por exemplo:
~Downloads/imagens-novos-livros/Backend
~Downloads/imagens-novos-livros/Java/Backend
Nesse caso a linha
local caminho_arquivo=$(find ~Downloads/imagens-novos-livros -name $arquivo)
quando a variavel arquivo
for igual a Backend
retornará multiplos valores o que gera um erro de execução