September 30, 2016

My bashrc file (for reference)



# reload other bash script file, if any
source /usr/share/defaults/etc/profile

# set PATH
export PATH=$PATH:/usr/sbin:/usr/local/mysql/bin:.:/home/raf/Tools/gwt-2.7.0:/home/raf/Tools/apache-log4j-2.6.2-bin

# other environment variables
PROJECT_HOME=/home/raf/Workspace/trunk-umobile-work
export PROJECT_HOME

ANT_HOME=/opt/apache-ant-1.9.7
export ANT_HOME

GWT_23_HOME=/home/raf/Tools/gwt-2.3.0/gwt-2.3.0
GWT_27_HOME=/home/raf/Tools/gwt-2.7.0
GWT_HOME=${GWT_23_HOME}
export GWT_HOME

APACHE_HOME=/usr/local/apache/htdocs
export APACHE_HOME

MSYQL_HOME=/usr/local/mysql
export MYSQL_HOME

AXIS2_HOME=/home/raf/Tools/axis2-1.5.4
export AXIS2_HOME

JUNIT=/home/raf/Tools/eclipse/plugins/org.junit_4.12.0.v201504281640/junit.jar
export JUNIT

JAVA_7_HOME=/opt/jdk1.7.0_80
JAVA_8_HOME=/usr/lib/jvm/java-8-openjdk-
JAVA_HOME=${JAVA_7_HOME}
export JAVA_HOME JAVA_7_HOME JAVA_8_HOME

# to switch between java7 and java8
alias java7="sudo rm /usr/bin/java; sudo rm /usr/bin/javac; sudo ln -s /opt/jdk1.7.0_80/bin/java /usr/bin/java; sudo ln -s /opt/jdk1.7.0_80/bin/javac /usr/bin/javac; export JAVA_HOME=${JAVA_7_HOME}"
alias java8="sudo rm /usr/bin/java; sudo rm /usr/bin/javac; sudo ln -s /usr/lib/openjdk-8/bin/java /usr/bin/java; sudo ln -s /usr/lib/openjdk-8/bin/javac /usr/bin/javac; export JAVA_HOME=${JAVA_8_HOME}"

TOMCAT_WEBAPPS=/home/raf/Tools/apache-tomcat-8.5.4/webapps
export TOMCAT_WEBAPPS

EDITOR=/opt/sublime_text/sublime_text
export EDITOR

# bash setting
export HISTFILESIZE=3000    # the bash history should save 3000 commands
export HISTCONTROL=ignoredups   #don't put duplicate lines in the history.

# define colours
BLACK='\e[0;30m'
BLUE='\e[0;34m'
GREEN='\e[0;32m'
CYAN='\e[0;36m'
RED='\e[0;31m'
PURPLE='\e[0;35m'
BROWN='\e[0;33m'
LIGHTGRAY='\e[0;37m'
DARKGRAY='\e[1;30m'
LIGHTBLUE='\e[1;34m'
LIGHTGREEN='\e[1;32m'
LIGHTCYAN='\e[1;36m'
LIGHTRED='\e[1;31m'
LIGHTPURPLE='\e[1;35m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m'

# check PID of current running process. Usage : ps java
alias ps="ps -awwef | grep "

# frequently used directories for bookmarking purposes
alias cdt="cd /home/raf/Tools/apache-tomcat-8.5.4/webapps"
alias cdw="cd /home/raf/Workspace/"
alias cdwu="cd /home/raf/Workspace/trunk-umobile-work"
alias cdp="cd ~/Workspace/cpx/source/merchant_portal"

# short forms command for other most used software
alias apache-up="sudo /usr/local/apache2/bin/apachectl restart; tail -f /usr/local/apache2/logs/error_log;"
alias tomcat-up="~/Tools/apache-tomcat-8.5.4/bin/catalina.sh start;"
alias tomcat-log="tail -f /home/raf/Tools/apache-tomcat-8.5.4/logs/catalina.out;"
alias tomcat-clearlog="rm /home/raf/Tools/apache-tomcat-8.5.4/logs/catalina.out; touch /home/raf/Tools/apache-tomcat-8.5.4/logs/catalina.out;"
alias tomcat-clear="rm -rfv /home/raf/Tools/apache-tomcat-8.5.4/work/Catalina/"
alias sub="/opt/sublime_text/sublime_text"
alias nau="nautilus "
alias fire="cd /home/raf/Tools/firefox-24; setsid ./firefox"

# short forms command for favourite linux tools
alias ..="cd .."
alias ...="cd ..."
alias ls="ls -lsaXB"    # sort by extension
alias ls_size='ls -lSar' # sort by size
alias cls="clear"
alias cl="clear"
alias sls="clear"
alias s;s="clear"
alias s:="clear"
alias ;s="clear"
alias hist='history | grep $1'  # check previously executed command. Usage : hist tomcat*
alias sc='source '
alias find_pattern="grep -rnwl . -e "   # find file that contain pattern. Usage : find mytext
alias find="find "  # let it be here. Needed to fix bug betwen find_pattern and find_file
alias find_file="find -name "   # find file by file name. Usage : find_file mytext.txt

# listing files within directory
alias structure="tree -P '*.jar|*.java|*.xml|*.html|*.css' | less "
alias structure-nojar="tree -P '*.java|*.xml|*.html|*.css' | less "
alias structure-nojava="tree -P '*.xml|*.html|*.css' | less "

# command line pre-fix
export PS1="pwd : ${LIGHTGREEN} \w\n${BLUE}\u${RED}:$ ${BLUE}"

# show network info
netinfo ()
{
    echo "--------------- Network Information ---------------"
    /usr/bin/ifconfig | awk /'inet addr/ {print $2}'
    /usr/bin/ifconfig | awk /'Bcast/ {print $3}'
    /usr/bin/ifconfig | awk /'inet addr/ {print $4}'
    /usr/bin/ifconfig | awk /'HWaddr/ {print $4,$5}'
    echo "---------------------------------------------------"
}

# enable programmable completion features
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

# extract things . Usage : extract file.zip
extract () {
     if [ -f $1 ] ; then
         case $1 in
             *.tar.bz2)   tar xjf $1        ;;
             *.tar.gz)    tar xzf $1     ;;
             *.bz2)       bunzip2 $1       ;;
             *.rar)       rar x $1     ;;
             *.gz)        gunzip $1     ;;
             *.tar)       tar xf $1        ;;
             *.tbz2)      tar xjf $1      ;;
             *.tgz)       tar xzf $1       ;;
             *.zip)       unzip $1     ;;
             *.Z)         uncompress $1  ;;
             *.7z)        7z x $1    ;;
             *)           echo "'$1' cannot be extracted via extract()" ;;
         esac
     else
         echo "'$1' is not a valid file"
     fi
}

# WELCOME SCREEN
################################################## #####

clear

echo -ne "${PURPLE}";cal;
. /etc/lsb-release
echo -ne "${BROWN}Linux Kernel : $gras$(uname -r)$fin \n"      
echo -ne "Distro       : $DISTRIB_ID $DISTRIB_RELEASE ($DISTRIB_CODENAME)$fin \n${BLACK}"