1
resposta

[Sugestão] Outro modo de fazer

Ao invés de realizar uma busca toda vez é possível voltar um diretório depois de invocar a função "varrer_arquivos" na linha 14

  1 #!/bin/bash
  2 converte_arquivo() {
  3         local arquivo_a_ser_convertido=$1
  4         local arquivo_sem_extensao=$(ls $arquivo_a_ser_convertido | awk -F. '{ print $1 }')
  5         convert $arquivo_sem_extensao.jpg $arquivo_sem_extensao.png
  6 }
  7 varrer_diretorios() {
  8         cd $1
  9         for arquivo in *
 10         do
 11                 if [ -d $arquivo ]
 12                 then
 13                         varrer_diretorios $arquivo
 14                         cd ..
 15                 else
 16                         converte_arquivo $arquivo
 17                 fi
 18         done
 19 }
 20
 21 varrer_diretorios $1
 22
 23 if [ $? -eq 0 ]
 24 then
 25         echo "Conversao realizada com sucesso"
 26 else
 27         echo "A conversao falhou"
 28 fi
1 resposta

Oi, Lucas. Tudo bem?

Parabéns por ter pensado numa alternativa. O uso de caminhos absolutos ajuda a evitar erros, mas nesse caso funciona também, apesar de usar os caminhos absolutos serem uma melhor prática.

Bons estudos!