diff --git a/recipes/_path b/recipes/_path index a09962c..6f281d8 100644 --- a/recipes/_path +++ b/recipes/_path @@ -1,16 +1,26 @@ #!/bin/bash set +e +function __addline { + local filename=$1 + shift + local line="$@" + + grep "^$line\$" $filename || echo $line >> $filename +} + function _path_low { PATH="$1:$PATH" - test -r ~/.bash_profile && echo "export PATH='$1'":'"$PATH"' >>~/.bash_profile - echo "export PATH='$1'":'"$PATH"' >>~/.profile + test -r ~/.bash_profile && __addline ~/.bash_profile "export PATH='$1'":'"$PATH"' + __addline ~/.profile "export PATH='$1'":'"$PATH"' + __addline ~/.zshenv "export PATH='$1'":'"$PATH"' } function _path_high { PATH="$PATH:$1" - test -r ~/.bash_profile && echo 'export PATH="$PATH"':"'$PATH'" >>~/.bash_profile - echo "export PATH='$1'":'"$PATH"' >>~/.profile + test -r ~/.bash_profile && __addline ~/.bash_profile 'export PATH="$PATH"':"'$PATH'" + __addline ~/.profile "export PATH='$1'":'"$PATH"' + __addline ~/.zshenv "export PATH='$1'":'"$PATH"' } function _path {