#!/usr/bin/env sh set -e export LC_ALL='C.UTF8' help_text() { printf " -t path to pango formated text file how to format: https://usage.imagemagick.org/text/#pango or as an environment variable IMAGE_TEXT not with path but the text itself if -t is set the environment variable will be ignored -p is a path to write the file to. Format is determined by file ending. or as an environment variable PICTURE_PATH if -p is set the environment variable will be ignored " exit 1 } # directory of the script itself SCRIPT_DIR="$(cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P)" export SCRIPT_DIR # set defaults P_PATH="$SCRIPT_DIR/example.jpg" I_TEXT="$(cat "$SCRIPT_DIR"/text.pango.example 2>/dev/null || echo 'example text')" # read from environment variables P_PATH="${PICTURE_PATH:-$P_PATH}" I_TEXT="${IMAGE_TEXT:-$I_TEXT}" # options, they override environment variables while getopts "p:t:" opt do case "$opt" in p) P_PATH="$OPTARG";; t) I_TEXT=$(cat "$OPTARG");; *) help_text esac done magick \ -background '#FFFFFF' \ -fill '#000000' \ -font 'FiraCode Nerd Font' \ -pointsize 72 pango:"$I_TEXT" \ "$P_PATH"