Não, configurar a opção nullglob
shell e falhar ao expandir um padrão glob não fará com que o script saia com um status de saída diferente de zero (e os nomes de arquivos correspondentes com padrões globais em geral não alteram o $?
shell variável).
Não , a definição nullglob
fará com que convert
falhe (a menos que existam arquivos com os nomes literais *.jpg
e *.png
no diretório atual) e sairá com uma saída status de 1.
Como este é o último comando executado no script, o script sairá com este status de saída.
Após a atualização do script em questão:
O script agora sai com um status de saída diferente de zero se existir um arquivo PDF para o último arquivo de imagem processado, devido ao [ ! -e ... ]
test (este é o último comando executado no script nesse caso).
Se isso não for desejado, use
[ ! -e "${basename}.pdf" ] && convert "$i" "${basename}.pdf" || true
(observe também as citações adicionadas)