--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
--*)
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
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