lots of updates
[distro-setup] / path_add-function
index 0edf2bb62cd76cec2d7dc99addda53013902217b..0dbaf9fa58de4533c48d68826ce03c37416959ac 100644 (file)
@@ -9,7 +9,7 @@ path_add() {
 --end:      adds to end of path, which will give it lowest priority
 --ifexists: add to path only if the directory exists"
     local found x y z ifexists end loop newpath
-    ifexists=false
+    force=false
     end=false
     loop=true
     # portable substring matching is ugly http://mywiki.wooledge.org/BashFAQ/041
@@ -18,8 +18,8 @@ path_add() {
             --*)
                 if [ "$1" = --end ]; then
                     end=true
-                elif [ "$1" = --ifexists ]; then
-                    ifexists=true
+                elif [ "$1" = --force ]; then
+                    force=true
                 elif [ "$1" = --help ]; then
                     echo "$help"
                     return
@@ -53,7 +53,8 @@ path_add() {
     unset IFS
     PATH="$newpath"
     for x in "$@"; do
-        if ! $ifexists || [ -d "$x" ]; then
+        x="$(readlink -f "$x")"
+        if $force || [ -d "$x" ]; then
             if [ ! "$PATH" ]; then
                 PATH="$x"
             elif $end; then