if [ -f /etc/bashrc ];then source /etc/bashrc;fi
-function _bash_profile_addpath # variable,dirpathname
+function _bash_profile_addpath # <variablename>,<dirpathname>
{
- if [ '!' -d "$2" ];then return;fi
- if [ -n "$3" -o -z "`eval "echo \\${$1}"`" ];then
- eval "$1='$2'"
+ _OPTIND="$OPTIND"
+ _opt_f=0;_opt_s=0
+ OPTIND=1;while getopts fs got;do
+ case "$got" in
+ [fs]) eval "_opt_$got=1" ;;
+ *) exit 1 ;;
+ esac
+ done
+ eval "_varname=\"\$$[$OPTIND+0]\""
+ eval "_dirpathname=\"\$$[$OPTIND+1]\""
+ if [ $_opt_f = 0 -a '!' -d "$_dirpathname" ];then return;fi
+ if [ $_opt_s = 1 -o -z "`eval "echo \\${$_varname}"`" ];then
+ eval "$_varname='$_dirpathname'"
else
# we want to override any original directories, place dirpathname first!
- eval "$1=\"$2:\${$1}\""
+ eval "$_varname=\"$_dirpathname:\${$_varname}\""
fi
- export "$1"
+ export "$_varname"
+ unset _varname _dirpathname _opt_f _opt_s
+ OPTIND="$_OPTIND";unset _OPTIND
}
-_bash_profile_addpath PATH "$HOME/bin"
-_bash_profile_addpath PATH "$HOME/sbin"
-_bash_profile_addpath LD_LIBRARY_PATH "$HOME/lib"
-_bash_profile_addpath MANPATH "$HOME/man"
+_bash_profile_addpath -f PATH "$HOME/bin"
+_bash_profile_addpath -f PATH "$HOME/sbin"
+_bash_profile_addpath -f LD_LIBRARY_PATH "$HOME/lib"
+_bash_profile_addpath -f MANPATH "$HOME/man"
-_bash_profile_addpath CVSROOT "$HOME/cvs" single
-_bash_profile_addpath CVSROOT "$HOME/pserver/cvs" single
+_bash_profile_addpath -f -s CVSROOT "short@vellum.cz:/home/short/pserver/cvs" # default
+_bash_profile_addpath -s CVSROOT "$HOME/pserver/cvs"
+_bash_profile_addpath -s CVSROOT "$HOME/cvs"
+mkdir -p $HOME/lib/perl5 # otherwise CPAN will install to "$HOME/lib/site_perl" etc.
for _perldir in $(eval "echo $HOME/lib/perl5{,/site_perl}$(
for perlvar in version archname;do
echo -n '{,/'
echo -n '}'
done
)");do
- _bash_profile_addpath PERLLIB "$_perldir"
+ _bash_profile_addpath -f PERLLIB "$_perldir"
done
unset _perldir