Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Aula 4 - 06. Mão na massa -

Gostaria de entender melhor a seguinte linha

convert "$imagem_jpg" "${imagem_jpg%.jpg}.png" && echo "Imagem convertida: ${imagem_jpg%.jpg}.png" || echo "Falha na conversão: $imagem_jpg"

Como devo interpretar ${imagem_jpg%.jpg}?

O "%" significa que deve ser deletada a string que segue (no caso ".jpg") do valor da variável?

1 resposta
solução!

Oii de novo, Agostino!

Que bom que você trouxe essa dúvida. Essa sintaxe parece um pouco estranha à primeira vista, mas ela é um recurso muito útil do Shell Script chamado Expansão de Parâmetros.

Sua intuição está corretíssima! Vamos detalhar como isso funciona para que não reste nenhuma dúvida.

O significado do símbolo %

Na linguagem do Bash, quando usamos o símbolo % dentro de chaves ${ }, estamos pedindo para ele remover uma parte do final do texto armazenado na variável.

  • A variável: ${imagem_jpg} contém o nome completo do arquivo (ex: foto.jpg).
  • O operador %: Ele diz ao sistema: "procure o padrão que vem logo depois de mim e remova-o se ele estiver no final da string".
  • O padrão: .jpg é o que queremos retirar.

Portanto, ${imagem_jpg%.jpg} pega foto.jpg e entrega apenas foto.

Por que fazemos isso?

Imagine que você quer converter foto.jpg para foto.png. Se você usasse apenas ${imagem_jpg}.png, o resultado seria foto.jpg.png, o que ficaria bem bagunçado.

Ao usar ${imagem_jpg%.jpg}.png, o processo ocorre em dois tempos:

  1. O Bash remove o .jpg (sobra apenas o nome puro: foto).
  2. Ele acrescenta logo em seguida a nova extensão .png.

Entendendo a linha completa

A linha de código que você enviou utiliza operadores lógicos pra decidir o que mostrar na tela:

  • convert ...: Tenta realizar a conversão.
  • && (E): Se o comando de conversão funcionar (sucesso), ele executa o echo de "Imagem convertida".
  • || (OU): Se o comando de conversão falhar por qualquer motivo, ele pula o primeiro echo e executa o segundo, avisando da "Falha".

Continue firme nos estudos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!