From cf3728c5aad9e94bf412ad22a5f311c95a75210e Mon Sep 17 00:00:00 2001 From: Ivan Povalyukhin Date: Sat, 30 May 2015 00:26:22 -0700 Subject: [PATCH] [pathmunge] added function to prevent duplicates in PATH variable --- lib/helpers.bash | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/helpers.bash b/lib/helpers.bash index 9c4c4dbc..c5ae9cd1 100644 --- a/lib/helpers.bash +++ b/lib/helpers.bash @@ -361,3 +361,21 @@ all_groups () cat $file | sort | uniq rm $file } + +if ! type pathmunge > /dev/null 2>&1 +then + function pathmunge () { + _about 'prevent duplicate directories in you PATH variable' + _group 'lib helpers' + _example 'pathmunge /path/to/dir is equivalent to PATH=/path/to/dir:$PATH' + _example 'pathmunge /path/to/dir after is equivalent to PATH=$PATH:/path/to/dir' + + if ! [[ $PATH =~ (^|:)$1($|:) ]] ; then + if [ "$2" = "after" ] ; then + export PATH=$PATH:$1 + else + export PATH=$1:$PATH + fi + fi + } +fi