From: Iain Patterson Date: Wed, 4 Feb 2015 10:11:11 +0000 (+0000) Subject: Fixed setting PROFILE_HOME when sourcing from relative path. X-Git-Url: http://git.iain.cx/?a=commitdiff_plain;h=21c43d814bbd270a26d5fda54bca14e5a4848819;p=profile.git Fixed setting PROFILE_HOME when sourcing from relative path. If .bash_profile was sourced from a relative path, eg ". profile/.rc", PROFILE_HOME would not be canonicalised, resulting in many things breaking when not run from the same directory the profile was initially sourced from. --- diff --git a/.bash_profile b/.bash_profile index 6a1eaf8..6648c33 100644 --- a/.bash_profile +++ b/.bash_profile @@ -3,6 +3,7 @@ if [ -t 0 -o "${0:0:1}" = "-" -o "$1" = "force" ]; then if [ -z "$PROFILE_HOME" ]; then # BASH_SOURCE isn't available prior to bash 3. profile_home=${BASH_SOURCE%/*} + [ -n "$profile_home" -a ! "${profile_home:0:1}" = "/" ] && profile_home=$(readlink -f "$profile_home" 2>/dev/null) [ "$profile_home" = "$BASH_SOURCE" ] && profile_home=$PWD [ "$profile_home" = "$HOME" ] || PROFILE_HOME=$profile_home unset profile_home