#!/hint/bash function shasum { command shasum <<<"$1" | awk '{ print $1 }' } # once function once { local flagname="__onceflag_$(shasum "$*")" if [[ -z ${!flagname} ]]; then declare -g "${flagname}"=1 "$@" fi }