#!/bin/bash set -euxo pipefail declare -A heights=( [sophie]=1100 [hervé]=1125 [enguerrand]=1175 [david]=1200 ) processimg () { local src=$1 local name=$(basename "${src}") name="${name%% *}" name=${name,} local dst=../images/${name}/full.png local height=${heights[${name}]} magick "${src}" -trim ${dst} magick ${dst} -scale x${height} ${dst} magick ${dst} -background none -gravity north -splice 0x$((1200-height)) ${dst} } for img in "$@" do processimg "${img}" & done wait