1
resposta

bash não reconhece os ifs e me retorna o seguinte erro: conversao_imagem.sh: linha 5: [!: comando não encontrado conversao_imagem.sh: linha 16: [0: comando não encontrado

insira seu códig#!/bin/bash

converteImagem(){
cd ~/Downloads/imagens-livros

if [! -d png]
then
    mkdir png
fi

for imagem in *.jpg
do 
    local imagem_sem_extencao=$( ls $imagem |awk -F. '{ print $1}')
    convert $imagem_sem_extencao.jpg png/$imagem_sem_extencao.png
done
}
converteImagem
if [$? -eq 0 ]
then 
    echo "Conversão realizada com sucesso"
else
    echo "Erro na conversão"
fi
o aqui
1 resposta

Olá,

É necessário ter espaços entre o if e os colchetes e o conteúdo do bloco do if, segue código:

#!/bin/bash

converte_imagem(){
cd ~/Downloads/IMAGENS-LIVROS
if [ ! -d png ]
then
    mkdir png
fi


for imagem in *.jpg
do
    local imagem_sem_extensao=$(ls $imagem | awk -F. '{ print $1 }')
    convert $imagem_sem_extensao.jpg png/$imagem_sem_extensao.png
done
}

converte_imagem 2>erros_conversao.txt
if [ $? -eq 0 ]
then
    echo "Conversao realizada com sucesso"
else
    echo "Houve uma falha no processo"
fi