From: Lukas Schauer Date: Wed, 10 Feb 2016 11:05:04 +0000 (+0100) Subject: changed the way SCRIPTDIR is searched for so it works better with symbolic links... X-Git-Tag: v0.1.0~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85a25b56b7c50f9c950d7de8f40d1b090acb2343;p=thirdparty%2Fdehydrated.git changed the way SCRIPTDIR is searched for so it works better with symbolic links (e.g. a symbolic link in ~/.bin) --- 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