Here's the contents of my bashrc file I normally use:

# .bashrc

Source global definitions

if [ -f /etc/bashrc ]; then . /etc/bashrc fi

Custom bash prompt via kirsle.net/wizards/ps1.html

export PS1="\n\njobs: \j[$(tput setaf 5)] | [$(tput setaf 2)]\w\n[$(tput bold)][$(tput setaf 7)]\t [$(tput setaf 2)][[$(tput setaf 4)]\u[$(tput setaf 1)]@[$(tput setaf 1)]\h[$(tput setaf 2)]][$(tput setaf 3)]\$ [$(tput sgr0)]"

#colorize grep alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto'

export EDITOR=/usr/bin/nano export HISTFILESIZE=10000

don't put duplicate lines in the history. See bash(1) for more options

... or force ignoredups and ignorespace

HISTCONTROL=ignoredups:ignorespace

append to the history file, don't overwrite it

shopt -s histappend

pretend to be busy in office to enjoy a cup of coffee

function lookbusy() { cat /dev/urandom | hexdump -C | grep --color=auto "ca fe" }

function natdebt() { watch -n 10 "wget -q http://www.brillig.com/debt_clock -O - | grep debtiv.gif | sed -e 's/.ALT="//' -e 's/".//' -e 's/ //g'" }

edit the svn log at the given revision

function svnlogedit() { svn propedit svn:log --revprop -r$1 --editor-cmd gedit }

svn recursive directory/file adder

this will recursively add files/directories in SVN

function svnradd() { for i in $1/*;do if [ -e "$i" ];then if [ -d "$i" ];then svn add $i;svnradd $i;else svn add $i;fi; fi;done }

display the revision number of the current repository

function svn_rev() { svn info $@ | awk '/^Revision:/ {print $2}' }

function svn_uplog() { local old_revision=svn_rev $@ local first_update=$((${old_revision} + 1))

svn up -q $@ if [ $(svn_rev $@) -gt ${old_revision} ] then svn log -v -rHEAD:${first_update} $@ else echo "No Changes." fi }

display animated hourglass in the shell to indicate ongoing processing

function hourglass() { s=$(($SECONDS +${1:-10}));(tput civis;while [[ $SECONDS -lt $s ]];do for f in '|' ' ' '-' /;do echo -n $f&&sleep .2s&&tput cub1;done;done);tput cnorm; }

function stopwatch() {

copyright 2007 - 2010 Christopher Bratusek

BEGIN=$(date +%s) while true; do NOW=$(date +%s) DIFF=$(($NOW - $BEGIN)) MINS=$(($DIFF / 60)) SECS=$(($DIFF % 60)) echo -ne "Time elapsed: $MINS:printf %02d $SECS\r" sleep .1 done }

function webcrawl() { lynx -dump $1 | grep -A999 "^References$" | tail -n +3 | awk '{print $2 }' }

usage: wgetall mp3 http://example.com/download/

function wgetall() { wget -r -l2 -nd -Nc -A.$@ $@ ; }

alias matrix='echo -e "\e[32m"; while :; do for i in {1..16}; do r="$(($RANDOM % 2))"; if [[ $(($RANDOM % 5)) == 1 ]]; then if [[ $(($RANDOM % 4)) == 1 ]]; then v+="\e[1m $r "; else v+="\e[2m $r "; fi; else v+=" "; fi; done; echo -e "$v"; v=""; done' alias matrix2='echo -e "\e[31m"; while $t; do for i in seq 1 30;do r="$[($RANDOM % 2)]";h="$[($RANDOM % 4)]";if [ $h -eq 1 ]; then v="\e[1m $r";else v="\e[2m $r";fi;v2="$v2 $v";done;echo -e $v2;v2="";done;' alias matrix3='COL=$(( $(tput cols) / 2 )); clear; tput setaf 2; while :; do tput cup $((RANDOM%COL)) $((RANDOM%COL)); printf "%$((RANDOM%COL))s" $((RANDOM%2)); done' alias matrix4='echo -ne "\e[32m" ; while true ; do echo -ne "\e[$(($RANDOM % 2 + 1))m" ; tr -c "[:print:]" " " < /dev/urandom | dd count=1 bs=50 2> /dev/null ; done' alias matrix5='tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=lcase,unblock | GREP_COLOR="1;32" grep --color "[^ ]"' alias screensaver='for ((;;)); do echo -ne "\033[$((1+RANDOM%LINES));$((1+RANDOM%COLUMNS))H\033[$((RANDOM%2));3$((RANDOM%8))m$((RANDOM%10))"; sleep 0.1 ; done' # terminal screensaver alias starwars='telnet towel.blinkenlights.nl' # the famous starwars ASCII version from telnet

alias bandwidth='dd if=/dev/zero of=/dev/null bs=1M count=32768' # processor / memory bandwidthd? in GB/s alias website_dl='wget --random-wait -r -p -e robots=off -U mozilla "$1"' # download an entire website alias website_images='wget -r -l1 --no-parent -nH -nd -P/tmp -A".gif,.jpg" "$1"' # download all images from a site

saw this here:http://lifehacker.com/supercharge-your-command-lines-history-search-with-fou-478683529

"\e[A": history-search-backward "\e[B": history-search-forward set show-all-if-ambiguous on set completion-ignore-case on

Found this recently and it's proven much more functional then the normal ^r I was using before.

https://coderwall.com/p/oqtj8w

#from: https://coderwall.com/p/oqtj8w
"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on