User:Aceat64/Bashrc

From Dallas Makerspace
Jump to: navigation, search

<source lang="bash">

  1. ~/.bashrc: executed by bash(1) for non-login shells.
  2. see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
  3. for examples
  1. If not running interactively, don't do anything

[ -z "$PS1" ] && return

  1. don't put duplicate lines or lines starting with space in the history.
  2. See bash(1) for more options

HISTCONTROL=ignoreboth

  1. append to the history file, don't overwrite it

shopt -s histappend

  1. for setting history length see HISTSIZE and HISTFILESIZE in bash(1)

HISTSIZE=1000 HISTFILESIZE=2000

  1. check the window size after each command and, if necessary,
  2. update the values of LINES and COLUMNS.

shopt -s checkwinsize

  1. If set, the pattern "**" used in a pathname expansion context will
  2. match all files and zero or more directories and subdirectories.
  3. shopt -s globstar
  1. make less more friendly for non-text input files, see lesspipe(1)

[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

  1. 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

  1. set a fancy prompt (non-color, unless we know we "want" color)

case "$TERM" in

   xterm-color) color_prompt=yes;;

esac

  1. uncomment for a colored prompt, if the terminal has the capability; turned
  2. off by default to not distract the user: the focus in a terminal window
  3. 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

if [ "$color_prompt" = yes ]; then

   PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '

else

   PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '

fi unset color_prompt force_color_prompt

  1. If this is an xterm set the title to user@host:dir

case "$TERM" in xterm*|rxvt*)

   PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
   ;;
  • )
   ;;

esac

  1. 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

  1. some more ls aliases

alias ll='ls -alF' alias la='ls -A'

  1. alias l='ls -CF'
  1. Add an "alert" alias for long running commands. Use like so:
  2. 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$//'\)"'

  1. Alias definitions.
  2. You may want to put all your additions into a separate file like
  3. ~/.bash_aliases, instead of adding them here directly.
  4. See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then

   . ~/.bash_aliases

fi

  1. enable programmable completion features (you don't need to enable
  2. this, if it's already enabled in /etc/bash.bashrc and /etc/profile
  3. sources /etc/bash.bashrc).

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then

   . /etc/bash_completion

fi

if [ -d ~/.bin ] ; then

   PATH=~/.bin:"${PATH}"

fi

      1. My Aliases ###

alias l='ls -lahF' alias la='ls -aF' alias lsize='ls -laShrF' alias nano='nano -w' alias df='df -h'

      1. SSH Aliases ###

alias work='ssh [email protected]' alias roland='ssh [email protected] -Y' alias dmsdev='ssh [email protected]' alias s='ssh -l root'

      1. Useful Functions ###

function my_ps() { ps f$@ -u $USER -o pid,%cpu,%mem,bsdtime,command ; }

function ik() { /media/IronKey/linux/ironkey ${1} /dev/sr0 ; }

  1. Random password generator

function randpw() {

if [ -n "$1" ]; then  len=$1; else  len=8 ; fi
tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c $len ; echo;

}

  1. Random number generator

function randnum() {

if [ -n "$1" ]; then  len=$1; else  len=8 ; fi
tr -dc 0-9 < /dev/urandom | head -c $len ; echo;

} </source>