declare BASEDIR
BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
# for full symlink resolution
# BASEDIR="$( realpath -qs "$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )")"
And possibly this at the start of bash scripts.
# "unofficial" bash strict mode
# See: http://redsymbol.net/articles/unofficial-bash-strict-mode
set -o errexit # Exit when simple command fails 'set -e'
set -o errtrace # Exit on error inside any functions or subshells.
set -o nounset # Trigger error when expanding unset variables 'set -u'
set -o pipefail # Do not hide errors within pipes 'set -o pipefail'
# set -o xtrace # Display expanded command and arguments 'set -x'
IFS=$'\n\t' # Split words on \n\t rather than spaces
https://github.com/TheDMSGroup/mautic-eb/blob/884a71c79ceb078c6ca9c735c54c95ae608b6d85/scripts/core-patches.sh#L11-L13
Use this for a assigning script path:
And possibly this at the start of bash scripts.