Converts 0-9a-fA-F text files to their binary form
[nethome.git] / .bashrc
diff --git a/.bashrc b/.bashrc
index cdc9a48..3e0bb86 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -1,14 +1,91 @@
+if [ -z "$_home_short_dotbashrc" ];then
+       _home_short_dotbashrc=true
+
+if [ -f /etc/bashrc ];then source /etc/bashrc;fi
+
+function _bash_profile_addpath # variable,dirpathname
+{
+       if [ '!' -d "$2" ];then return;fi
+       if [ -n "$3" -o -z "`eval "echo \\${$1}"`" ];then
+               eval "$1='$2'"
+       else
+               # we want to override any original directories, place dirpathname first!
+               eval "$1=\"$2:\${$1}\""
+       fi
+       export "$1"
+}
+
+_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 CVSROOT         "$HOME/cvs" single
+_bash_profile_addpath CVSROOT         "$HOME/pserver/cvs" single
+
+for _perldir in $(eval "echo $HOME/lib/perl5/site_perl$(
+       for perlvar in version archname;do
+               echo -n '{,/'
+               perl -V:"$perlvar"|cut -d "'" -f 2|tr -d '\n'
+               echo -n '}'
+               done
+       )");do
+       _bash_profile_addpath PERLLIB "$_perldir"
+       done
+unset _perldir
+
+unset -f _bash_profile_addpath
+
 alias ls='ls -bF'
 alias l='ls -lbF'
-alias maple="ssh1 -t -v vega.fjfi.cvut.cz maple"
+alias maple="ssh -t vega.fjfi.cvut.cz maple"
 #alias cc='cc -I/home/short/include'
+alias vi='vim'
 
 weberr="/var/log/httpd/error/klokan.error_log"
 if [ -f "$weberr" ];then alias weberr='tail "$weberr"';fi
 weblog="/var/log/httpd/klokan.access_log"
 if [ -f "$weblog" ];then alias weblog='tail -n 20000 "$weblog"|grep "\\(~\\|%7[eE]\\)short"';fi
 
-export CVSROOT=/home/short/pserver/cvs
-if [ '!' -d $CVSROOT ];then unset CVSROOT;fi
+export IGNOREEOF=10
+export TMOUT=900
+export EDITOR='vim'
+export LC_CTYPE=cs_CZ.ISO-8859-2
+export PERL_MM_OPT="PREFIX=$HOME"
+export WWW_HOME="file:///home/short/.bookmarks.html"
+export GREP_OPTIONS="--binary-files=without-match --directories=skip"
+
+# even when LANG is set to "en_US" it is lethal - strcoll() starts to sort case-insensitively!
+unset LANG
+
+function cvsdiff    { cvs diff   "$@" 2>&1|             less; }; export -f cvsdiff
+function cvsdiffi   { cvs diff   "$@" 2>&1|grep -v '^?'|less; }; export -f cvsdiffi
+function cvsupdate  { cvs update "$@" 2>&1|             less; }; export -f cvsupdate
+function cvsupdatei { cvs update "$@" 2>&1|grep -v '^?'|less; }; export -f cvsupdatei
+function cvsfiles {
+       for i in `find . -name Entries|grep '/CVS/Entries$'`;do
+               j="`echo "$i"|sed 's,CVS/Entries$,,'`"
+               sed -n 's,^/\([^/]*\)/[^-].*$,'"$j"'\1,p' <$i
+               done \
+               | sed 's%^\./%%'
+       }; export -f cvsfiles
+function cvsignore {
+       for i in `find . -name .cvsignore`;do
+               j="`echo "$i"|sed 's,\.cvsignore$,,'`"
+               sed -n 's,^.*$,'"$j"'&,p' <$i
+               done
+       }; export -f cvsignore
+function cvsignorerm { cvsignore | xargs rm -f; }; export -f cvsignorerm
+
+function wclines { awk '{x[$0]++}END{for (i in x) print x[i]"\t"i}'; }; export -f wclines
+function ulimitme { ulimit -m 100000 -d 150000 -v 200000; }; export -f ulimitme
+function grep { ( ulimitme; `which grep` "$@"; ); }; export -f grep
+function rsync { `which rsync` -v -e ssh --progress --stats --partial "$@"; }; export -f rsync
+function tohex { od -An -txC /tmp/out|tr -d '\n '|tr 'a-f' 'A-F';echo; }; export -f tohex
 
 ulimit -c 0
+
+if [ -f "$HOME/.bashrc.local" ];then source "$HOME/.bashrc.local";fi
+
+       unset _home_short_dotbashrc     # permit later reinitializations
+fi     # _home_short_dotbashrc