User Tools

Site Tools


bashrc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
bashrc [2008/03/25 20:27] – fixed color term checking andibashrc [2010/04/28 18:45] (current) 92.195.193.18
Line 1: Line 1:
 +====== ~/.bashrc ======
  
 +This is my ''.bashrc''
 +
 +<code bash bashrc>
 +# Andi's .bashrc
 +
 +# setup path
 +export PATH=${HOME}/bin:${HOME}/programs/bin:${PATH}
 +
 +# where's my palm?
 +export PILOTPORT=/dev/ttyUSB1
 +
 +# be sure to do to all this on interactive shells only
 +if [ "$PS1" ]; then
 +  # load system defaults
 +  if [ -f /etc/profile ]; then
 +    . /etc/profile
 +  fi
 +
 +  # handy file conversion tools
 +  alias dos2unix="perl -pi -e 's/\r\n/\n/;'"
 +  alias unix2dos="perl -pi -e 's/\n/\r\n/;'"
 +  alias bomstrip="sed -i -s -e '1s/^\xef\xbb\xbf//'"
 +
 +  # enable color support of ls and also add handy aliases
 +  eval `dircolors -b`
 +  alias ls='ls --color=auto'
 +  alias ll='ls -l'
 +  alias la='ls -A'
 +  alias l='ls -la'
 +  export GREP_OPTIONS='--color=auto'
 +
 +  # color in man pages http://icanhaz.com/colors
 +  export LESS_TERMCAP_mb=$'\E[01;31m'
 +  export LESS_TERMCAP_md=$'\E[01;31m'
 +  export LESS_TERMCAP_me=$'\E[0m'
 +  export LESS_TERMCAP_se=$'\E[0m'
 +  export LESS_TERMCAP_so=$'\E[01;44;33m'
 +  export LESS_TERMCAP_ue=$'\E[0m'
 +  export LESS_TERMCAP_us=$'\E[01;32m'
 +
 +  # better safe than sorry
 +  alias cp='cp -i'
 +  alias rm='rm -i'
 +  alias mv='mv -i'
 +
 +  # cleanup firefox 3 dbs
 +  alias ffclean='for f in ~/.mozilla/firefox/*/*.sqlite; do echo $f; sqlite3 $f "VACUUM;"; done'
 +
 +  # current git branch for prompt below
 +  # http://techblog.floorplanner.com/2008/12/14/working-with-git-branches/
 +  parse_git_branch() {
 +    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\[\1\]/'
 +  }
 +  # has current branch unrecorded changes?
 +  # http://markelikalderon.com/2009/01/16/dirty-prompts/
 +  parse_git_dirty() {
 +    git diff --quiet HEAD &>/dev/null
 +    [[ $? == 1 ]] && echo "*"
 +  }
 +
 +  # set a fancy prompt and xterm title
 +  shopt -s checkwinsize
 +  if [ "$COLORTERM" != "" -o "$TERM" == "xterm" ]; then
 +    if [ "$USER" == "root" ]; then
 +      PS1='\[\e[0;31m\]\u@\h\[\e[0;35m\]$(parse_git_branch)$(parse_git_dirty)\[\e[0;31m\]:\w\$\[\e[0m\] '
 +    else
 +      PS1='\[\e[0;32m\]\u@\h\[\e[0;35m\]$(parse_git_branch)$(parse_git_dirty)\[\e[0;32m\]:\w\$\[\e[0m\] '
 +
 +    fi
 +  else
 +    PS1='\u@\h:\w\$ '
 +  fi
 +
 +  # enable programmable bash completion
 +  if [ -f /etc/bash_completion ]; then
 +    . /etc/bash_completion
 +  fi
 +
 +  # ssh keymanager - see http://wiki.splitbrain.org/ssh
 +  if [ -e /usr/bin/keychain -a -e ~/.ssh/id_dsa ]; then
 +    keychain -q ~/.ssh/id_dsa
 +    if [ -e ~/.ssh-agent-${HOSTNAME} ]; then
 +      . ~/.ssh-agent-${HOSTNAME}
 +    fi
 +    if [ -e ~/.keychain/${HOSTNAME}-sh ]; then
 +      . ~/.keychain/${HOSTNAME}-sh
 +    fi
 +  fi
 +
 +  # daily temp dir
 +  export TD="$HOME/temp/`date +'%Y-%m-%d'`"
 +  td(){
 +    td=$TD
 +    if [ ! -z "$1" ]; then
 +      td="$HOME/temp/`date -d "$1 days" +'%Y-%m-%d'`";
 +    fi
 +    mkdir -p $td; cd $td
 +    unset td
 +  }
 +
 +  # set a sane editor
 +  if [ -e /usr/bin/vim ]; then
 +    export EDITOR=/usr/bin/vim
 +    alias vi=/usr/bin/vim
 +  fi
 +
 +  # print a fortune cookie
 +  if which fortune >/dev/null; then
 +    if [ "$COLORTERM" != "" -o "$TERM" == "xterm" ]; then
 +      echo -en "\033[0;36m"
 +      fortune -a -s
 +      echo -en "\033[0;37m"
 +    else
 +      fortune -a -s
 +    fi
 +  fi
 +fi
 +</code>
 +
 +===== Some infos =====
 +
 +Besides a nice prompt and some sane defaults this bashrc defines some handy utils as well:
 +
 +Convert DOS CRLFs to Unix LFs and vice versa:
 +
 +  $> dos2unix <files>
 +  $> unix2dos <files>
 +
 +Strip UTF-8 byte order marks
 +
 +  $> bomstrip <files>
 +
 +Change into a temp directory named after the todays date (create if nessary):
 +
 +  $> td
 +
 +Change into yesterday's temp dir:
 +
 +  $> td -1
bashrc.txt · Last modified: 2010/04/28 18:45 by 92.195.193.18