# ~/.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)" # set variable identifying the chroot you work in (used in the prompt below) if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi # Set the correct TERM value when running gnome-terminal # (this seems to break the pager) if [[ $TERM == xterm && ( $COLORTERM == gnome* || $COLORTERM == xfce4-terminal ) ]]; then export TERM=xterm-256color fi # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; xterm-256color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt #force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would tend to support setf rather than setaf.) color_prompt=yes else color_prompt= fi fi # Build the PS1 prompt # PS1 prefix for supporting writing to the xterm title bar case "$TERM" in xterm*|rxvt*) PS1base="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]" ;; *) PS1base="" ;; esac # PS1 main prompt info based on $color_prompt if [ "$color_prompt" = yes ]; then PS1base=$PS1base'${debian_chroot:+($debian_chroot)}\[\033[1;4m\]\u@\h:\W\[\033[0m\]' else PS1base=$PS1base'${debian_chroot:+($debian_chroot)}\[\033[1;4m\]\u@\h:\W\[\033[0m\]' fi unset color_prompt force_color_prompt # PS1 suffix. Contains bell to set urgency hint for unfocused shells PS1suffix='\[\a\]\$ ' # Render PROMPT_COMMAND for git, if applicable if [ -f /etc/bash_completion.d/git-prompt ]; then export GIT_PS1_SHOWDIRTYSTATE=1 export GIT_PS1_SHOWUNTRACKEDFILES=1 x=$PS1 PROMPT_COMMAND='__git_ps1 "$PS1base" "$PS1suffix"' fi # Finalize non-git static initial PS1 for shells that don't use PROMPT_COMMAND. # Bash PS1 upon its evaluation of PROMPT_COMMAND. PS1=$PS1base$PS1suffix # 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 alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' # Add an "alert" alias for long running commands. Use like so: # sleep 10; alert alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"' # 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 # VIM-like history and command edit set -o vi # TinyOS stuff [ -d /opt/tinyos ] && . /opt/tinyos/tinyos.sh # MentorGraphics ARM GCC toolchain (Code Sorcery) #export PATH=/opt/MentorGraphics/arm-2012.03/bin:${PATH} # Android SDK export PATH=${PATH}:/opt/adt-bundle-linux-x86-20130729/sdk/platform-tools # Texlive distribution #export PATH=${PATH}:/usr/local/texlive/2013/bin/i386-linux # 14.04 contains texlive 2013 in its repos # Don't use the two lines bellow. less -R goofs up clears git log output on # 'q'. #alias diff='colordiff' #export LESS=-R # Make cdiff work more sensibly (at least to me). This is a replacement for # trying to colorize all diffs as shown above. function cdiff() { diff "$@" | /usr/bin/cdiff } export EDITOR=/usr/bin/vi # Android alias android-connect="mtpfs -o allow_other /media/tf300" alias android-disconnect="fusermount -u /media/tf300" # TinyOS source /opt/tinyos/tinyos.sh ~/workspace/tinyos-2.x # Autojump [ -f /usr/share/autojump/autojump.bash ] && . /usr/share/autojump/autojump.bash # Make ctrl-W erase back to the next filename path (so stop at /). This makes # bash behave more like vim. #stty -a | grep werase stty werase undef bind '\C-w:unix-filename-rubout' # Add TI PRU compiler (for AM335x SoCs) to path export PATH=/home/smckown/opt/ti-cgt-pru_2.1.2/bin:${PATH}