226 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			226 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# If not running interactively, don't do anything
 | 
						|
case $- in
 | 
						|
    *i*) ;;
 | 
						|
      *) return;;
 | 
						|
esac
 | 
						|
 | 
						|
__SCRIPT=$BASH_SOURCE
 | 
						|
echo $BASH_SOURCE | grep -q "^$( pwd )"
 | 
						|
if [ $? -ne 0 ]; then
 | 
						|
    __SCRIPT=$( pwd )/$BASH_SOURCE
 | 
						|
fi
 | 
						|
 | 
						|
# Source global definitions
 | 
						|
if [ -f /etc/bashrc ]; then
 | 
						|
    . /etc/bashrc
 | 
						|
fi
 | 
						|
 | 
						|
# Source for Custom bash ENV
 | 
						|
if [ -f ~/.rbashenv ]; then
 | 
						|
    . ~/.rbashenv
 | 
						|
fi
 | 
						|
 | 
						|
# 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 a fancy prompt (non-color, unless we know we "want" color)
 | 
						|
case "$TERM" in
 | 
						|
    xterm-color) color_prompt=yes;;
 | 
						|
esac
 | 
						|
 | 
						|
# 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
 | 
						|
 | 
						|
if [ -x "/usr/bin/gpg-agent" ]; then
 | 
						|
    GPG_ENV="$HOME/.gnupg/environment"
 | 
						|
 | 
						|
    function __start_agent {
 | 
						|
        gpg-agent --daemon > "${GPG_ENV}"
 | 
						|
        chmod 600 "${GPG_ENV}"
 | 
						|
        . "${GPG_ENV}" > /dev/null
 | 
						|
    }
 | 
						|
 | 
						|
    if [ -f "${GPG_ENV}" ]; then
 | 
						|
        . "${GPG_ENV}" > /dev/null
 | 
						|
 | 
						|
        gpg-agent > /dev/null 2>&1
 | 
						|
        [ "$?" -ne 0 ] && { __start_agent; }
 | 
						|
    else
 | 
						|
        __start_agent;
 | 
						|
    fi
 | 
						|
fi
 | 
						|
 | 
						|
BASHL_UUID="<UUID>"
 | 
						|
export BASH_SDIR=/tmp/$BASHL_UUID
 | 
						|
[ ! -d "$BASH_SDIR" ] && mkdir "$BASH_SDIR"
 | 
						|
 | 
						|
 | 
						|
function __cryptd {
 | 
						|
    echo "<PASSWD>" | gpg --batch -q --cipher-algo AES256 --passphrase-fd 0 -o "$2" -d "$1"
 | 
						|
}
 | 
						|
 | 
						|
function __crypte {
 | 
						|
    echo "<PASSWD>" | gpg --batch -q --cipher-algo AES256 --passphrase-fd 0 -o "$1.enc" -c "$1"
 | 
						|
    mv "$1.enc" "$1"
 | 
						|
}
 | 
						|
__CFILE=""
 | 
						|
function __cacheDownload {
 | 
						|
    MLINK=$( echo "$1" | md5sum )
 | 
						|
 | 
						|
    __CFILE=$BASH_SDIR/$MLINK
 | 
						|
 | 
						|
    if [ ! -f "$__CFILE" ]; then
 | 
						|
        __download "$1" > "$__CFILE"
 | 
						|
        __crypte "$__CFILE"
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function __download {
 | 
						|
    which curl 2>&1 > /dev/null
 | 
						|
    if [ $? -eq 0 ]; then
 | 
						|
        curl -s "$1"
 | 
						|
        return;
 | 
						|
    fi
 | 
						|
 | 
						|
    which wget 2>&1 > /dev/null
 | 
						|
    if [ $? -eq 0 ]; then
 | 
						|
        wget -qO- "$1"
 | 
						|
        return;
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function __uuid {
 | 
						|
    local __out=$1
 | 
						|
 | 
						|
    which uuidgen 2>&1 > /dev/null
 | 
						|
    if [ $? -eq 0 ]; then
 | 
						|
        local uuid=$( uuidgen )
 | 
						|
    else
 | 
						|
        local uuid=$( cat /proc/sys/kernel/random/uuid )
 | 
						|
    fi
 | 
						|
    eval $__out="'$uuid'"
 | 
						|
}
 | 
						|
 | 
						|
function rbash_upgrade {
 | 
						|
    echo "Updating $__SCRIPT"
 | 
						|
    __uuid TMPID
 | 
						|
    TMPFILE=/tmp/$TMPID
 | 
						|
    __download "http://git.astropenguin.net/?p=utils.git;a=blob_plain;f=bash/bashrc/rbashrc;hb=HEAD" > $TMPFILE
 | 
						|
 | 
						|
    if [ -z "$1" ]; then
 | 
						|
        MC_NAME="<MACHINE_NAME>"
 | 
						|
        MCC_NAME="<MACHINE_COLORED_NAME>"
 | 
						|
    else
 | 
						|
        MC_NAME=$1
 | 
						|
        MCC_NAME=$2
 | 
						|
    fi
 | 
						|
 | 
						|
    __uuid UUID
 | 
						|
    __uuid PASS
 | 
						|
    PMC_NAME=$( echo "#_MACHINE_NAME_#" | sed -e "s/#_/</g" -e "s/_#/>/g" )
 | 
						|
    PMCC_NAME=$( echo "#_MACHINE_COLORED_NAME_#" | sed -e "s/#_/</g" -e "s/_#/>/g" )
 | 
						|
    UUID_TOK=$( echo "#_UUID_#" | sed -e "s/#_/</g" -e "s/_#/>/g" )
 | 
						|
    PASS_TOK=$( echo "#_PASSWD_#" | sed -e "s/#_/</g" -e "s/_#/>/g" )
 | 
						|
    COLOR_CODE_TOK=$( echo "#_COLOR_CODE_#" | sed -e "s/#_/</g" -e "s/_#/>/g" )
 | 
						|
    COLOR_CODE=$(( $RANDOM * 6 / 32767 + 1 ))
 | 
						|
 | 
						|
    sed -i \
 | 
						|
        -e "s/$PMC_NAME/$MC_NAME/g" \
 | 
						|
        -e "s/$PMCC_NAME/$MCC_NAME/g" \
 | 
						|
        -e "s/$UUID_TOK/$UUID/g" \
 | 
						|
        -e "s/$PASS_TOK/$PASS/g" \
 | 
						|
        -e "s/$COLOR_CODE_TOK/$COLOR_CODE/g" \
 | 
						|
         $TMPFILE
 | 
						|
 | 
						|
    mv $TMPFILE $__SCRIPT
 | 
						|
    . $__SCRIPT
 | 
						|
}
 | 
						|
 | 
						|
function rbash_run {
 | 
						|
    echo "Getting: $1"
 | 
						|
    __cacheDownload "http://git.astropenguin.net/?p=utils.git;a=blob_plain;f=$1;hb=HEAD"
 | 
						|
    shift
 | 
						|
    __uuid TMPID
 | 
						|
    TMPFILE=/tmp/$TMPID
 | 
						|
    __cryptd "$__CFILE" "$TMPFILE"
 | 
						|
 | 
						|
    chmod 700 "$TMPFILE"
 | 
						|
    "$TMPFILE" $@
 | 
						|
    rm "$TMPFILE"
 | 
						|
}
 | 
						|
 | 
						|
export PS1='This is <MACHINE_NAME>\e[1;3<COLOR_CODE>m<MACHINE_COLORED_NAME>\e[0m: \w\n\$ '
 | 
						|
export EDITOR=vim
 | 
						|
 | 
						|
# User specific aliases and functions
 | 
						|
echo "Source:"
 | 
						|
function __ns {
 | 
						|
    if [ -z "$2" ]; then
 | 
						|
        FPATH="sources/$1"
 | 
						|
    else
 | 
						|
        FPATH=$1
 | 
						|
    fi
 | 
						|
 | 
						|
    echo "  $1"
 | 
						|
    __cacheDownload "http://git.astropenguin.net/?p=utils.git;a=blob_plain;f=bash/bashrc/$FPATH;hb=HEAD"
 | 
						|
    shift
 | 
						|
    __uuid TMPID
 | 
						|
    TMPFILE=/tmp/$TMPID
 | 
						|
    __cryptd "$__CFILE" "$TMPFILE"
 | 
						|
    . $TMPFILE
 | 
						|
    rm $TMPFILE
 | 
						|
}
 | 
						|
 | 
						|
__ns "package.sh" 1
 | 
						|
__ns "10_aliases"
 | 
						|
__ns "20_fast-greps"
 | 
						|
__ns "30_mysql"
 | 
						|
__ns "40_go-command"
 | 
						|
__ns "41_pivot-command"
 | 
						|
 | 
						|
# Source for additional rc
 | 
						|
if [ -f ~/.bashrc_local ]; then
 | 
						|
    . ~/.bashrc_local
 | 
						|
fi
 |