#!/usr/bin/env bash function error_handler() { >&2 echo "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}." exit "$2" } trap 'error_handler ${LINENO} $?' ERR set -o errtrace -o errexit -o nounset -o pipefail # find all markdown files at any depth using find and a while read loop since this is fragile: # for file in $(find . -type f -name "*.md"); do # ./bin/edit "$file" # done while IFS= read -r -d '' file; do ./bin/edit "$file" done < <(find . -type f -name "*.md" -print0)