From 20b32fd07a42f220cb45adcc575dbd2e66a0ded8 Mon Sep 17 00:00:00 2001 From: Luiz Gonzaga dos Santos Filho Date: Mon, 5 Jun 2017 23:02:39 +0200 Subject: [PATCH] Prevent duplicate entries in $PATH. Fixes #690 --- zsh/0_path.zsh | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/zsh/0_path.zsh b/zsh/0_path.zsh index db078f1e..04ed6c30 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 -) +# +# If you have duplicate entries on your PATH, run this command to fix it: +# PATH=$(echo "$PATH" | awk -v RS=':' -v ORS=":" '!a[$1]++{if (NR > 1) printf ORS; printf $a[$1]}') +pathAppend() { + # Only adds to the path if it's not already there + if ! echo $PATH | egrep -q "(^|:)$1($|:)" ; then + PATH=$PATH:$1 + fi +} + +pathAppend "$HOME/.yadr/bin" +pathAppend "$HOME/.yadr/bin/yadr"