Skip to content

Instantly share code, notes, and snippets.

@rctay
Forked from shawntan/bashrc
Created November 14, 2011 07:40
Show Gist options
  • Select an option

  • Save rctay/1363464 to your computer and use it in GitHub Desktop.

Select an option

Save rctay/1363464 to your computer and use it in GitHub Desktop.

Revisions

  1. rctay revised this gist Nov 15, 2011. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions bashrc
    Original file line number Diff line number Diff line change
    @@ -20,8 +20,8 @@ function parse_git_dirty {
    git status --porcelain >/dev/null || echo "*"
    }
    function parse_git_branch {
    git branch &> /dev/null || return 1
    echo "[$(git branch | awk '/^\*/ { print $2 }')$(parse_git_dirty)]"
    br=$(git symbolic-ref HEAD 2>/dev/null) || return 1
    echo "[${br##refs/heads/}$(parse_git_dirty)]"
    }

    # Bash won't get SIGWINCH if another process is in the foreground.
  2. rctay revised this gist Nov 14, 2011. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion bashrc
    Original file line number Diff line number Diff line change
    @@ -17,7 +17,7 @@ if [[ $- != *i* ]] ; then
    fi

    function parse_git_dirty {
    git diff --quiet || echo "*"
    git status --porcelain >/dev/null || echo "*"
    }
    function parse_git_branch {
    git branch &> /dev/null || return 1
  3. @shawntan shawntan revised this gist Nov 14, 2011. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion bashrc
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,4 @@

    # /etc/bash/bashrc
    #
    # This file is sourced by all *interactive* bash shells on startup,
    @@ -88,4 +89,6 @@ fi
    # Try to keep environment pollution down, EPA loves us.
    unset use_color safe_term match_lhs
    export PATH=$PATH:~/bin
    fortune

    COW_DIR=/usr/share/cows/
    fortune | cowsay -n -f $(ls $COW_DIR | shuf -n1)
  4. @shawntan shawntan renamed this gist Feb 13, 2011. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  5. @shawntan shawntan created this gist Feb 13, 2011.
    91 changes: 91 additions & 0 deletions .bashrc
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,91 @@
    # /etc/bash/bashrc
    #
    # This file is sourced by all *interactive* bash shells on startup,
    # including some apparently interactive shells such as scp and rcp
    # that can't tolerate any output. So make sure this doesn't display
    # anything or bad things will happen !


    # Test for an interactive shell. There is no need to set anything
    # past this point for scp and rcp, and it's important to refrain from
    # outputting anything in those cases.
    export EDITOR=vim
    if [[ $- != *i* ]] ; then
    # Shell is non-interactive. Be done now!
    return
    fi

    function parse_git_dirty {
    git diff --quiet || echo "*"
    }
    function parse_git_branch {
    git branch &> /dev/null || return 1
    echo "[$(git branch | awk '/^\*/ { print $2 }')$(parse_git_dirty)]"
    }

    # Bash won't get SIGWINCH if another process is in the foreground.
    # Enable checkwinsize so that bash will check the terminal size when
    # it regains control. #65623
    # http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
    shopt -s checkwinsize

    # Enable history appending instead of overwriting. #139609
    shopt -s histappend

    # Change the window title of X terminals
    case ${TERM} in
    xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
    ;;
    screen)
    PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'
    ;;
    esac

    use_color=false

    # Set colorful PS1 only on colorful terminals.
    # dircolors --print-database uses its own built-in database
    # instead of using /etc/DIR_COLORS. Try to use the external file
    # first to take advantage of user additions. Use internal bash
    # globbing instead of external grep binary.
    safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM
    match_lhs=""
    [[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"
    [[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"
    [[ -z ${match_lhs} ]] \
    && type -P dircolors >/dev/null \
    && match_lhs=$(dircolors --print-database)
    [[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true

    if ${use_color} ; then
    # Enable colors for ls, etc. Prefer ~/.dir_colors #64489
    if type -P dircolors >/dev/null ; then
    if [[ -f ~/.dir_colors ]] ; then
    eval $(dircolors -b ~/.dir_colors)
    elif [[ -f /etc/DIR_COLORS ]] ; then
    eval $(dircolors -b /etc/DIR_COLORS)
    fi
    fi

    if [[ ${EUID} == 0 ]] ; then
    PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W\[\033[01;36m\]$(parse_git_branch)\[\033[01;34m\]\$\[\033[00m\] '
    else
    PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w\[\033[01;36m\]$(parse_git_branch)\[\033[01;34m\] \$\[\033[00m\] '
    fi

    alias ls='ls --color=auto'
    alias grep='grep --colour=auto'
    else
    if [[ ${EUID} == 0 ]] ; then
    # show root@ when we don't have colors
    PS1='\u@\h \W \$ '
    else
    PS1='\u@\h \w \$ '
    fi
    fi

    # Try to keep environment pollution down, EPA loves us.
    unset use_color safe_term match_lhs
    export PATH=$PATH:~/bin
    fortune