local help="usage: path_add [options] PATH
--help: print this
--end: adds to end of path, which will give it lowest priority
---force: add to path even if directory does not exist"
+--ifexists: add to path only if directory exists"
local found x y z ifexists end loop newpath
- force=false
+ ifexists=false
end=false
loop=true
# portable substring matching is ugly http://mywiki.wooledge.org/BashFAQ/041
--*)
if [ "$1" = --end ]; then
end=true
- elif [ "$1" = --force ]; then
- force=true
+ elif [ "$1" = --ifexists ]; then
+ ifexists=true
elif [ "$1" = --help ]; then
echo "$help"
return
unset IFS
PATH="$newpath"
for x in "$@"; do
- if $force || [ -d "$x" ]; then
+ if ! $ifexists || [ -d "$x" ]; then
if [ ! "$PATH" ]; then
PATH="$x"
elif $end; then