]> git.ipfire.org Git - thirdparty/dehydrated.git/commitdiff
changed the way SCRIPTDIR is searched for so it works better with symbolic links...
authorLukas Schauer <lukas@schauer.so>
Wed, 10 Feb 2016 11:05:04 +0000 (12:05 +0100)
committerLukas Schauer <lukas@schauer.so>
Wed, 10 Feb 2016 11:05:04 +0000 (12:05 +0100)
letsencrypt.sh

index b2eff4bc174241594657508607d40f07fc3aa9d5..c45ea71035a08966eba23e5ea9960b440e696e52 100755 (executable)
@@ -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