Sto creando un flusso di lavoro di Automator che utilizza l'azione dello script della shell per elaborare una selezione di immagini con il comando composito imagemagick. Solo io sto avendo problemi per farlo funzionare. In base ai risultati ottenuti quando eseguo il flusso di lavoro, tutto funziona comunque, so che non è dovuto al fatto che i cambiamenti che mi aspetto di vedere nella cartella delle immagini non sono presenti. So che il comando imagemagick che sto usando è corretto perché funziona correttamente dalla console. (Ho fatto eco al comando composito all'output e l'ho copiato in una sessione Terminale, come un incantesimo). BTW: Il flusso di lavoro per l'elaborazione di una dissolvenza in un filmato in stop motion che ho realizzato. Sì, so che potrei usare gli strumenti video per ottenere la stessa cosa, ma quelli a cui ho accesso possono rovinare la qualità dell'immagine in uscita.
Ecco lo script
imagesCount=$#
rate=$(echo "scale=2; 100/$imagesCount"|bc)
percentage=$rate
for f in "$@"; do
fileName=${f%.*}
composite -blend "$percentage" -size 1280x720 "$f" xc:black -alpha Set "$fileName-1.jpg"
percentage=$(echo "scale=2; $percentage+$rate"|bc)
done
All'inizio pensavo che la causa del problema potrebbe essere spazi nei percorsi, ma ho rimosso questa possibilità spostando i file in un percorso senza spazi, ma ciò non ha avuto alcun effetto.
Sono quasi sicuro che il problema sia legato a qualcosa nel comando bash, ma non so affatto bash, questa è la mia prima volta che scrivo qualsiasi script di comando bash, ma sono molto esperto nello scripting di console Windows e non avere problemi a far funzionare questa cosa lì.
Se l'errore nello script non è abbastanza ovvio da catturare, qualcuno potrebbe proporre un metodo per eseguire il debug di questo in modo da poter capire perché le immagini non vengono elaborate anche se lo script viene eseguito senza errori?