#!/bin/sh path_sanitize() { echo "${1}" | /bin/sed 's|//|/|g' } path_add() { path="$1" entry="$(path_sanitize "$2")" if [ -z "$path" ]; then echo "$entry" else echo "$path:$entry" fi } path_remove() { path="$1" entry="$(path_sanitize "$2")" # If $entry is the last entry. if [ "${path##*:}" = "$entry" ]; then echo "${path%:*}" return 0 fi echo "$path" | /bin/sed "s|$entry:||" } prefix_add() { prefix="$1" PATH="$(path_add "$PATH" "$prefix/bin")" PATH="$(path_add "$PATH" "$prefix/sbin")" } prefix_remove() { prefix="$1" PATH="$(path_remove "$PATH" "$prefix/bin")" PATH="$(path_remove "$PATH" "$prefix/sbin")" } PATH= # Latest will usually be used first. More can be added with new calls # to prefix_add. prefix_add / prefix_add /usr/weirdos prefix_add /usr/local # Use these instructions to remove already defined prefixes. #prefix_remove /usr/weirdos #prefix_remove /usr/local