#!/bin/bash # ~/.bashrc skeleton # ~/.bashrc runs ONLY on non-login subshells! (different from ksh) # add lines here very carefully as this may execute when you don't i # expect them to # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= #echo "BASHRC has run" # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # Source global definitions # if [ -f /etc/bashrc ]; then . /etc/bashrc else if ! shopt -q login_shell ; then # We're not a login shell for i in /etc/profile.d/*.sh; do if [ -r "$i" ]; then if [ "$PS1" ]; then . $i else . $i &>/dev/null fi fi done unset i fi fi umask 002 # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # Find out system details. # os=`uname -o` #GNU/Linux AIX Solaris cpu=`uname -p` #x86_64 powerpc sparc kernel=`uname -s` #Linux AIX SunOS kversion=`uname -v` krelease=`uname -r` hostnm=`hostname` # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # Terminal colors if interactive # if [ -n "$PS1" ]; then # # If there is no terminal info in the system for current terminal but there is # one in local terminfo then use it. # tput -T $TERM longname 2>/dev/null >/dev/null if [ "$?" -ne "0" ] && [ -f $HOME/.terminfo/$kernel/${TERM:0:1}/$TERM ]; then export TERMINFO=$HOME/.terminfo/$kernel; fi # # Number of colors and standard colors. # c_num=$(tput colors) # regular foreground c_red=$(tput setaf 1) c_green=$(tput setaf 2) c_orange=$(tput setaf 3) c_blue=$(tput setaf 4) c_pink=$(tput setaf 5) c_cyan=$(tput setaf 6) c_white=$(tput setaf 7) c_viol=$(tput setaf 12) # bold foreground #cbf_red=$(tput bold; tput setaf 1) # # Load better colors for ls. # if [ $c_num -ge 256 ] && [ -f ~/.dir_colors ]; then eval $(dircolors ~/.dir_colors) fi fi # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # Prompt if interactive # if [ -n "$PS1" ]; then # # Set better colors if available. # if [ $c_num -ge 256 ]; then c_reset="$(tput sgr0)" c_user="$c_green" c_cwd="$c_viol" c_time="$c_pink" c_branch="$c_cyan" c_exit="$c_red" c_jobs="$c_orange" else c_reset="$(tput sgr0)" c_user="$c_green" c_cwd="$c_viol" c_time="$c_pink" c_branch="$c_cyan" c_exit="$c_red" c_jobs="$c_orange" fi [ -n "$(which svn)" ] && prompt_check_svn=true [ -n "$(which git)" ] && prompt_check_git=true # # Colors should be set here and surrounded with \[\]otherwise bash fails to # calculate prompt length. The text is set through PROMPT_COMMAND PS1="\[$c_user\]\u@\h: \[$c_cwd\]\w" # username@host: working_dir PS1+="\[$c_branch\]\$git_text" # git branch PS1+="\[$c_branch\]\$svn_text" # svn revision PS1+="\[$c_exit\]\$exit_text" # exit status of last command PS1+="\[$c_jobs\]\$jobs_text" # background/suspended jobs PS1+=" \[$c_time\]\t" # time PS1+="\[$c_reset\]\$ " # reset colors and print $ export PROMPT_COMMAND="__prompt_command; $PROMPT_COMMAND" function __prompt_command() { # # get exit code before any command is run. # TODO: doesn't work on pi. # local exit_code="$?" prompt_extra="" # # git branch if exist # if [ -n "$prompt_check_git" ]; then local git_branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null | tr -d ' ') if [ -n "$git_branch" ]; then git_text="[$git_branch]" else git_text="" fi fi # # svn branch if exist # if [ -n "$prompt_check_svn" ]; then local svn_rev=$(svn info . 2> /dev/null | awk -F ':' '/Revision:/ { print $2 }') if [ -n "$svn_rev" ]; then svn_text="[$svn_rev]" else svn_text="" fi fi # # exit code if not zero # if [ "$exit_code" -ne "0" ]; then exit_text="[exit=$exit_code]" else exit_text="" fi # # Info about jobs. # local jobs_bg=$(jobs -r | wc -l | tr -d ' ') local jobs_stopped=$(jobs -s | wc -l | tr -d ' ') if [ $jobs_bg -gt 0 ] || [ $jobs_stopped -gt 0 ]; then jobs_text="[bg:$jobs_bg,stp:$jobs_stopped]" else jobs_text="" fi } # Turn on checkwinsize shopt -s checkwinsize fi # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # User specific environment and startup programs # if [ $kernel == Linux ]; then MYLOCAL=$HOME/local-lnx elif [ $kernel == SunOS ]; then MYLOCAL=$HOME/local-sun fi MYSCRIPTS=$HOME/devel/scripts PATH=$MYLOCAL/bin:$PATH PATH=$MYSCRIPTS/bin:$PATH # # VIM # export EDITOR=vim # # GIT # [ -f $MYSCRIPTS/bash/git-completion.bash ] && . $MYSCRIPTSE/bash/git-completion.bash # # GCC # #if [ -e /depot/gcc-4.7.2/bin ]; then # PATH=/depot/gcc-4.7.2/bin:$PATH # LD_LIBRARY_PATH=/depot/gcc-4.7.2/lib64:$LD_LIBRARY_PATH #elif [ -e /depot/gcc-4.7.0/bin ]; then # PATH=/depot/gcc-4.7.0/bin:$PATH # LD_LIBRARY_PATH=/depot/gcc-4.7.0/lib64:$LD_LIBRARY_PATH #elif [ -e /depot/gcc-4.5.2/bin ]; then # PATH=/depot/gcc-4.5.2/bin:$PATH # LD_LIBRARY_PATH=/depot/gcc-4.5.2/lib64:$LD_LIBRARY_PATH #fi # # GDB # #prepath /depot/gdb-7.5.1/bin # # VTune Amplifier # #export INTEL_LICENSE_FILE=28518@us01-lic10:28518@us01-lic11:28518@us01-lic12:28518@tyndall #alias vtune=/depot/vtune_amplifier_xe_2013_update5/bin64/amplxe-gui # # PURIFY and all. # #postpath /depot/coverity/swat/bin #export RSU_TEMPLATE2_INI=/depot/pure/templates2.ini #export RSU_LICENSE_MAP=/depot/pure/PurifyPlus_License_Map #export PURECOVOPTIONS="-force-rebuild=no -log-file=./%v.%p.log -counts-file=./%v.%p.pcv -windows=no" #export PUREOPTIONS="-force-rebuild=no -always-use-cache-dir=yes -cache-dir=$HOME/tmp/pure_cache" #export QUANTIFYOPTIONS="-force-rebuild=no -always-use-cache-dir=yes -cache-dir=$HOME/tmp/pure_cache" #export LD_LIBRARY_PATH=$HOME/prj/fw/rmain/3pty/qt/4.7.2/amd64/lib:$LD_LIBRARY_PATH #alias purecov="/depot/swe/a2007.12/bin/purecov" #alias quantify"/depot/swe/a2007.12/bin/quantify" # # Make sure to export PATH # export PATH export HISTFILESIZE=5000 # Store 5000 commands in history export HISTCONTROL=ignoredups # Don't put duplicate lines in the history. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # Aliases # if [ $kernel == AIX ]; then alias l='ls -a' alias ls='ls -a' alias ll='ls -la' alias pd='pushd >/dev/null' alias bd='popd' else alias l='ls -a --color=tty' alias ls='ls -a --color=tty' alias ll='ls -la --color=tty' alias pd='pushd >/dev/null' alias bd='popd' fi alias cgrep="grep --include \*.cpp --include \*.h --include \*.c" # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # # Run local settings. # [ -f $PWD/.bashrc.local ] && . $PWD/.bashrc.local