# Created on savesnippets.com ยท https://savesnippets.com/FqdhogDLkLuhFA #!/usr/bin/env bash set -euo pipefail # exit on error, on unset var, on pipe failure IFS=$'\n\t' # safer field splitting (no spaces) # Optional: better stack traces on error trap 'echo "Error on line $LINENO" >&2' ERR SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" main() { local arg="${1:-default}" echo "Hello from $SCRIPT_DIR with arg=$arg" } main "$@"