#!/usr/bin/env bash set -o errexit set -o nounset set -o pipefail if [[ "${TRACE-0}" == "1" ]]; then set -o xtrace fi prompt_confirm() { while true; do read -r -n 1 -p "${1:-Continue?} [y/n]: " REPLY case $REPLY in [yY]) echo ; return 0 ;; [nN]) echo ; return 1 ;; *) printf " \033[31m %s \n\033[0m" "invalid input" esac done } help() { echo 'Usage: ./script.sh arg-one arg-two This is an awesome bash script to make your life better. ' exit } if [[ "${1-}" =~ ^-*h(elp)?$ ]]; then help fi cd "$(dirname "$0")" main() { prompt_confirm "print help?" || exit 0 help } main "$@"