X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.profile.d%2FPATH.bashrc;h=4c5d535330a150da2a4bd0b54ebf05ba2e134c6b;hb=8c1da009c60a70fc256405ca5d9d044ac694a2ad;hp=a7d44205bae2f8480e61479bf08141aaca185d02;hpb=104b025d33b8cf5f9d42bda3ac3d158eb7a07701;p=profile.git diff --git a/.profile.d/PATH.bashrc b/.profile.d/PATH.bashrc index a7d4420..4c5d535 100644 --- a/.profile.d/PATH.bashrc +++ b/.profile.d/PATH.bashrc @@ -27,13 +27,23 @@ function makepath() { # Check the file exists. [ -e "$DIR/$dirs" ] || return + # Set IFS to newline only so that we can read $(embedded shell commands). + JGD=$IFS + IFS=' +' # Read them. path= for dir in $(cat "$DIR/$dirs"); do + dir=$(eval echo "$dir") [ -d "$dir" ] || continue path="$path:$dir" done + unset dir + + # Restore IFS. + IFS=$JGD + unset JGD # Sanitise path. path=${path#:} @@ -49,8 +59,8 @@ makepath PATH bindirs makepath C_INCLUDE_PATH incdirs copypath CPLUS_INCLUDE_PATH C_INCLUDE_PATH makepath LD_LIBRARY_PATH libdirs -copypath LD_RUN_PATH LD_LIBRARY_PATH +copypath LD_RUN_PATH PATH makepath MANPATH mandirs makepath PKG_CONFIG_PATH pkgdirs -unset sedscr makepath copypath +unset dirs copypath makepath newpath