while[ -h "$SOURCE"]; do# resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE")" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[$SOURCE != /* ]]&&SOURCE="$DIR/$SOURCE"# if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located