changed the way SCRIPTDIR is searched for so it works better with symbolic links (e.g. a symbolic link in ~/.bin)

This commit is contained in:
Lukas Schauer
2016-02-10 12:05:04 +01:00
parent 21c18dd3b8
commit 85a25b56b7

View File

@@ -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