3
respostas

[Dúvida] não estou conseguindo executar o script

De primeiro eu criei um diretório : /home/vitoria/projetosPessoais/projeto_shell dentro dele se encontra os dois subdiretórios: imagens e Scripts:

[vitoria@superboot projeto_shell]$ ls -R
.:
imagens  Scripts

./imagens:
img-livros

./imagens/img-livros:
algoritmos.jpg       big_data.jpg     elasticsearch.jpg  jquery.jpg                nosql.jpg               scala.jpg        vue.jpg
amazon_aws.jpg       codeigniter.jpg  es6.jpg            mantra_produtividade.jpg  orientacao_objetos.jpg  scratch.jpg      windows_server.jpg
arduino_pratico.jpg  cordova.jpg      java_ee.jpg        metricas_ageis.jpg        postgres.jpg            seguranca.jpg    xamarin_forms.jpg
asp_net.jpg          dsl.jpg          jenkins.jpg        node.jpg                  sass.jpg                turbine_css.jpg  zend.jpg

./Scripts:
conversao-jpg-png.sh

O conversao-jpg-png.sh foi alterado duas vezes:

1. convert~/home/vitoria/projetosPessoais/projeto_shell/imagens/img-livros/algoritmos.jpg ~/home/vitoria/projetosPessoais/projeto_shell/imagens/img-livros/algoritmos.png

2. convert/home/vitoria/projetosPessoais/projeto_shell/imagens/img-livros/algoritmos.jpg /home/vitoria/projetosPessoais/projeto_shell/imagens/img-livros/algoritmos.png

Dei a permissao chmod a+x conversao-jpg-png.sh e executei ./conversao-jpg-png.sh

Dessas duas vezes ficou dando esse erro quando eu executei:

./conversao-jpg-png.sh: line 3: convert~/home/vitoria/projetosPessoais/projeto_shell/imagens/img-livros/algoritmos.jpg: No such file or directory

Não entendi porque isso ocorreu

3 respostas

O erro está dizendo que não está encontrando o arquivo ou diretório que está mencionando, no caso o seu shell está interpretando convert~/home/vitoria/projetosPessoais/projeto_shell/imagens/img-livros/algoritmos.jpg como um único arquivo já que você não colocou um espaço entre o executável convert e o arquivo que deseja converter. O seu script deveria, então, ser assim:

convert ~/projetosPessoais/projeto_shell/imagens/img-livros/algoritmos.jpg ~/projetosPessoais/projeto_shell/imagens/img-livros/algoritmos.png

Mas esse não é o único problema, ~ é um atalho para o seu diretório home, e seu home já é o /home/vitoria/, ao usar ~/home/vitoria/ o seu shell vai interpretar como /home/vitoria/home/vitoria/ e esse caminho muito provavelmente não existe.

![](![Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Pronto, o primeiro problema foi resolvido, mas agora a gente descobriu que você também não tem o imagemagick instalado (que é o programa que é usado no comando convert). Felizmente isso é bem simples de resolver, em distribuições Linux que usam o apt (Debian, Ubuntu e derivados) você só precisa rodar sudo apt install imagemagick em um terminal e seu script provavelmente vai rodar agora. Se sua distribuição usar um outro gerenciador de pacotes é só adaptar pra seu gerenciador atual. E não esquece de deixar o script executável com o chmod +x! :)