Ao criar a função e redirecionar os erros para o log, não está gerando. E quando coloco algum erro no script para testar, a mensagem de operação executada com sucesso ainda aparece, mesmo com erro.
Segue meu código abaixo:
#!/bin/bash
funcao_converte(){
cd ~/Downloads
if [ ! -d imagens-livros-png ]
then
mkdir imagens-livros-png
echo "Diretorio nao encontrado, criando..."
sleep 1
else
echo "Diretório já existe..."
sleep 1
fi
cd ~/Downloads/imagens-livros
echo "Abrindo diretório origem..."
local destino=~/Downloads/imagens-livros-png
echo "Gravando diretorio destino..."
sleep 1
local cont=$(ls|wc -l)
echo "Foram encontrados "$cont" ocorrências para converter"
for imagem in *.jpg
do
local imagem_sem_jpg=$(ls $imagem|awk -F. '{print $1}')
if [ ! -e "$destino/$imagem_sem_jpg.png" ]
then
convert $imagem_sem_jpg.jpg $destino/$imagem_sem_jpg.png 2>log_exec.txt
if [ $? -eq 0 ]
then
echo "Convertendo arquivo..."$imagem_sem_jpg
else
echo "Erro ao converter o arquivo: "$imagem_sem_jpg
fi
else
echo "Ja existe o arquivo "$imagem_sem_jpg.png" no diretório "$destino
fi
done
}
funcao_converte 2>log_conversor.txt
if [ $? -eq 0 ]
then
echo "Operação realizada com sucesso"
else
echo "Erro na operação"
fi