2018-10-18 13:47:28 -06:00
|
|
|
# ~/.bashrc: executed by bash(1) for non-login shells.
|
|
|
|
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
|
|
|
# for examples
|
|
|
|
|
|
|
|
# If not running interactively, don't do anything
|
|
|
|
case $- in
|
|
|
|
*i*) ;;
|
|
|
|
*) return;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
# don't put duplicate lines or lines starting with space in the history.
|
|
|
|
# See bash(1) for more options
|
|
|
|
HISTCONTROL=ignoreboth
|
|
|
|
|
|
|
|
# append to the history file, don't overwrite it
|
|
|
|
shopt -s histappend
|
|
|
|
|
|
|
|
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
|
|
|
HISTSIZE=1000
|
|
|
|
HISTFILESIZE=2000
|
|
|
|
|
|
|
|
# check the window size after each command and, if necessary,
|
|
|
|
# update the values of LINES and COLUMNS.
|
|
|
|
shopt -s checkwinsize
|
|
|
|
|
|
|
|
# If set, the pattern "**" used in a pathname expansion context will
|
|
|
|
# match all files and zero or more directories and subdirectories.
|
|
|
|
#shopt -s globstar
|
|
|
|
|
|
|
|
# make less more friendly for non-text input files, see lesspipe(1)
|
|
|
|
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
|
|
|
|
|
|
|
# enable color support of ls and also add handy aliases
|
|
|
|
if [ -x /usr/bin/dircolors ]; then
|
|
|
|
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
|
|
|
alias ls='ls --color=auto'
|
|
|
|
#alias dir='dir --color=auto'
|
|
|
|
#alias vdir='vdir --color=auto'
|
|
|
|
|
|
|
|
#alias grep='grep --color=auto'
|
|
|
|
#alias fgrep='fgrep --color=auto'
|
|
|
|
#alias egrep='egrep --color=auto'
|
|
|
|
fi
|
|
|
|
|
|
|
|
# some more ls aliases
|
2018-11-16 14:57:41 -07:00
|
|
|
alias ll='ls -l'
|
|
|
|
alias la='ls -A'
|
2018-10-18 13:47:28 -06:00
|
|
|
#alias l='ls -CF'
|
|
|
|
|
|
|
|
# Alias definitions.
|
|
|
|
# You may want to put all your additions into a separate file like
|
|
|
|
# ~/.bash_aliases, instead of adding them here directly.
|
|
|
|
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
|
|
|
|
|
|
|
if [ -f ~/.bash_aliases ]; then
|
|
|
|
. ~/.bash_aliases
|
|
|
|
fi
|
|
|
|
|
|
|
|
# enable programmable completion features (you don't need to enable
|
|
|
|
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
|
|
|
# sources /etc/bash.bashrc).
|
|
|
|
if ! shopt -oq posix; then
|
|
|
|
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
|
|
|
. /usr/share/bash-completion/bash_completion
|
|
|
|
elif [ -f /etc/bash_completion ]; then
|
|
|
|
. /etc/bash_completion
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
alias reboot='reboot -h now'
|
|
|
|
|
2018-10-23 14:41:03 -06:00
|
|
|
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/share/games:/usr/local/sbin:/usr/sbin:/sbin:~/local/bin
|
|
|
|
|
|
|
|
# check if local bin folder exist
|
|
|
|
# $HOME/bin
|
|
|
|
# prepend it to $PATH if so
|
|
|
|
if [ -d $HOME/bin ]; then
|
|
|
|
export PATH=$HOME/bin:$PATH
|
|
|
|
fi
|
2018-11-16 14:57:41 -07:00
|
|
|
|
|
|
|
function nonzero_return() {
|
|
|
|
RETVAL=$?
|
|
|
|
[ $RETVAL -ne 0 ] && echo "$RETVAL"
|
|
|
|
}
|
|
|
|
|
|
|
|
# get current branch in git repo
|
|
|
|
function parse_git_branch() {
|
|
|
|
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
|
|
|
|
if [ ! "${BRANCH}" == "" ]
|
|
|
|
then
|
|
|
|
STAT=`parse_git_dirty`
|
|
|
|
echo "[${BRANCH}${STAT}]"
|
|
|
|
else
|
|
|
|
echo ""
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
# get current status of git repo
|
|
|
|
function parse_git_dirty {
|
|
|
|
status=`git status 2>&1 | tee`
|
|
|
|
dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"`
|
|
|
|
untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"`
|
|
|
|
ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"`
|
|
|
|
newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"`
|
|
|
|
renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"`
|
|
|
|
deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"`
|
|
|
|
bits=''
|
|
|
|
if [ "${renamed}" == "0" ]; then
|
|
|
|
bits=">${bits}"
|
|
|
|
fi
|
|
|
|
if [ "${ahead}" == "0" ]; then
|
|
|
|
bits="*${bits}"
|
|
|
|
fi
|
|
|
|
if [ "${newfile}" == "0" ]; then
|
|
|
|
bits="+${bits}"
|
|
|
|
fi
|
|
|
|
if [ "${untracked}" == "0" ]; then
|
|
|
|
bits="?${bits}"
|
|
|
|
fi
|
|
|
|
if [ "${deleted}" == "0" ]; then
|
|
|
|
bits="x${bits}"
|
|
|
|
fi
|
|
|
|
if [ "${dirty}" == "0" ]; then
|
|
|
|
bits="!${bits}"
|
|
|
|
fi
|
|
|
|
if [ ! "${bits}" == "" ]; then
|
|
|
|
echo " ${bits}"
|
|
|
|
else
|
|
|
|
echo ""
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
export PS1="[\[\e[01;31m\]\u\[\e[m\]@\[\e[01;31m\]\h\[\e[m\]]:\[\e[01;34m\]\w\[\e[m\]:\[\e[01;32m\]\`parse_git_branch\`\[\e[m\]\[\e[01;31m\]\`nonzero_return\`\[\e[m\]\\$ "
|