#!/bin/bash # # BASHRC # # If not running interactively, don't do anything [[ $- != *i* ]] && return # Load aliases [[ -f "$HOME/.bash_aliases" ]] && source "$HOME/.bash_aliases" # Disable suspend/resume (ctrl-s, ctrl-q) stty -ixon # Enable extended globbing, e.g to exclude files: ls !(*.jpg|*.gif) shopt -s extglob # Enable recursive matching with '**', e.g: ls ** shopt -s globstar # Warn if running jobs on exit shopt -s checkjobs # Append history instead of overwriting shopt -s histappend # Immediately save history to file instead of at end of session export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND" # Prompt red="$(tput setaf 9)" green="$(tput setaf 10)" blue="$(tput setaf 12)" yellow="$(tput setaf 11)" reset="$(tput sgr0)" host="\[$red\]\h\[$reset\]" user="\[$blue\]\u\[$reset\]" dir="\[$yellow\]\w\[$reset\]" function branch() { branch="$(git branch 2>/dev/null | sed -n -E 's/^\* (.*)/\1/p')" [ -n "$branch" ] && printf " on \001%s\002%s\001%s\002" "$green" "$branch" "$reset" } export PS1="[$user@$host in $dir\$(branch)] "