If you don't already have duplicates in the PATH and you only want to add directories if they are not already there, you can do it easily with the shell alone.
for x in /path/to/add …; do case ":$PATH:" in *":$x:"*) :;; # already there *) PATH="$x:$PATH";; esac done And here's a shell snippet that removes duplicates from $PATH. It goes through the entries one by one, and copies those that haven't been seen yet.
if [ -n "$PATH" ]; then old_PATH=$PATH:; PATH= while [ -n "$old_PATH" ]; do x=${old_PATH%%:*} # the first remaining entry case $PATH: in *:"$x":*) ;; # already there *) PATH=$PATH:$x;; # not there yet esac old_PATH=${old_PATH#*:} done PATH=${PATH#:} unset old_PATH x fi