#!/bin/bash set -euxo pipefail processimg () { local src=$1 local name=$(basename "${src}") name="${name%% *}" name=${name,} local dst=../images/${name}/portrait.png magick "${src}" -scale 1200x ${dst} for size in 800 400 do magick ${dst} -scale ${size}x ${dst/.png/${size}.png} done } for img in "$@" do processimg "${img}" & done wait