In case you need to get the absolute path to the folder in which a bash script exists (e.g. when you need to refer to a relative binary), you can do it like this:

myscript.sh

#!/usr/bin/env bash
 
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
echo $SCRIPTPATH

So, if you run the script, you will get:

$ ./subfolder/myscript.sh
/Users/user/bin/subfolder

You can then use it to easily refer to a relative binary or file in a reliable way. We use this to create a script which uses xcodebuild but applies xcbeautify to it's output. As we are using a custom build of xcbeautify and have it in the same folder as the script, this trick becomes really handy:

xcodebuild.sh

#!/usr/bin/env bash
 
SCRIPTPATH="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
PRETTIER=$SCRIPTPATH/xcbeautify
 
set -o pipefail && xcodebuild "$@" | $PRETTIER --disable-colored-output
 
exit $?