diff --git a/letsencrypt.sh b/letsencrypt.sh index b2eff4b..c45ea71 100755 --- a/letsencrypt.sh +++ b/letsencrypt.sh @@ -11,8 +11,15 @@ umask 077 # paranoid umask, we're creating private keys # duplicate scripts IO handles exec 4<&0 5>&1 6>&2 -# Get the directory in which this script is stored -SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +# Find directory in which this script is stored by traversing all symbolic links +SOURCE="${0}" +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 +done +SCRIPTDIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" + BASEDIR="${SCRIPTDIR}" # Check for script dependencies