diff --git a/install b/install index b959ab5..213679c 100755 --- a/install +++ b/install @@ -8,7 +8,13 @@ if [ ! -r ~/.zshrc ]; then exit 1 fi -DIR=$(dirname $(readlink -f $0)) ; +SOURCE="${BASH_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 +DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" # appends the string to ~/.zshrc file cat >> ~/.zshrc << EOF