Ok, acho que descobri o problema. Acho que o problema é o resultado da linha 157 para onde estou redirecionando a saída para um arquivo; esse arquivo passa a ser uma unidade USB montada. Eu estou supondo que o redirecionamento é feito simultaneamente, e quando product-manifest.sh
está completo, o script continua, levando, eventualmente, a desmontar a unidade USB antes que a gravação simultânea na unidade USB seja concluída. E quando o umount ocorre simultaneamente, ocorre algum erro que termina prematuramente o script.
A correção foi redirecionar a saída para o cartão SD e, em seguida, cp
para copiá-lo para a unidade USB:
product-manifest.sh > "/tmp/MANIFEST"
cp "/tmp/MANIFEST" "$1"
Obrigado ao @mikeserv por me apontar na direção certa.