diff --git a/zsh/0_path.zsh b/zsh/0_path.zsh index db078f1e..050e67ac 100644 --- a/zsh/0_path.zsh +++ b/zsh/0_path.zsh @@ -1,7 +1,14 @@ # path, the 0 in the filename causes this to load first -path=( - $path - $HOME/.yadr/bin - $HOME/.yadr/bin/yadr -) +pathAppend() { + # Only adds to the path if it's not already there + if ! echo $PATH | egrep -q "(^|:)$1($|:)" ; then + PATH=$PATH:$1 + fi +} + +# Remove duplicate entries from PATH: +PATH=$(echo "$PATH" | awk -v RS=':' -v ORS=":" '!a[$1]++{if (NR > 1) printf ORS; printf $a[$1]}') + +pathAppend "$HOME/.yadr/bin" +pathAppend "$HOME/.yadr/bin/yadr"