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

Mãos à obra: Utilizando o laço de repetição

#!/bin/bash
CAMINHO_IMAGEM=~/Downloads/imagens-livros

for imagem in $@
do
    convert $CAMINHO_IMAGENS/$imagem.jpg $CAMINHO_IMAGENS/$imagem.png
done 
bash conversaojpg-png.sh codeigniter cordova dsl elasticsearch

O resultado foi a criação dos quatro arquivos .png com os quatro respectivos nomes

1 resposta
solução!

Olá, Henrique!

Você conseguiu executar o script corretamente e obteve os quatro arquivos .png com os nomes respectivos. Isso é ótimo, significa que você está no caminho certo!

Posso estar errado mas percebi um pequeno erro no seu código que pode ter causado alguma confusão. Na linha onde você define a constante CAMINHO_IMAGEM, você a chamou de CAMINHO_IMAGEM (no singular), mas depois, no laço de repetição, você a chamou de CAMINHO_IMAGENS (no plural).

Para evitar erros de referência, é importante que o nome da constante seja o mesmo em todo o script. Então, o seu código corrigido ficaria assim:

#!/bin/bash
CAMINHO_IMAGENS=~/Downloads/imagens-livros

for imagem in $@
do
    convert $CAMINHO_IMAGENS/$imagem.jpg $CAMINHO_IMAGENS/$imagem.png
done 

E a chamada do script ficaria assim:

bash conversaojpg-png.sh arduino_pratico asp_net big_data codeigniter

Assim, o script irá converter as imagens desses quatro livros de .jpg para .png, e você deverá ver os quatro arquivos .png correspondentes no diretório ~/Downloads/imagens-livros.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software