diff --git a/bashutils b/bashutils new file mode 100644 index 0000000..7f8002a --- /dev/null +++ b/bashutils @@ -0,0 +1,16 @@ +#!/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 +} + +