X-Git-Url: https://arthur.barton.de/gitweb/?p=ConfigScripts.git;a=blobdiff_plain;f=sys%2Fbashrc;h=190e1df293cb4e8146a0afb1f04a2106ceea441e;hp=eb4799c3297e2596d19df44cb1eddbdd72c5d14f;hb=2c2c42d14e811665c13602c2a44d204f7725e601;hpb=3b58245f8e3ff16de52f30fe3d37b57f92fad822 diff --git a/sys/bashrc b/sys/bashrc index eb4799c..190e1df 100644 --- a/sys/bashrc +++ b/sys/bashrc @@ -1,6 +1,6 @@ # # /etc/bash.bashrc: System-wide rc file for interactive bash(1) shells. -# Written 2003-2014 by Alexander Barton (alex@barton.de) +# Written 2003-2015 by Alexander Barton (alex@barton.de) # [ -e ~/.ConfigScripts.debug ] && echo " .. /etc/bash.bashrc ..." @@ -13,11 +13,15 @@ BASHRCREAD="true" [ -e ~/.ConfigScripts.debug ] && echo " >> /etc/bash.bashrc ..." # Interactive shell? -[ "$PS1" ] || return +case "$-" in + *i*) ;; + *) return ;; +esac # Initialize keychain(1) ssh-agent and gpg-agent helper +[ -e ~/.ConfigScripts.debug ] && echo " - keychain ..." type -t keychain >/dev/null \ - && eval `keychain --agents ssh --eval --quick --quiet` + && eval "`keychain --agents ssh --eval --inherit any-once --quick --quiet`" # Common command aliases (1/2) alias ".."="cd .." @@ -42,6 +46,7 @@ case "$BASH_VERSION" in esac # Shell options (2/2) +[ -e ~/.ConfigScripts.debug ] && echo " - shell options ..." shopt -s checkwinsize shopt -s cdspell shopt -s histappend @@ -56,7 +61,12 @@ sshtmp() { ssh -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" "$@" } +# Map up & down to history search once a command has been started +bind '"\e[A":history-search-backward' +bind '"\e[B":history-search-forward' + # Colors +[ -e ~/.ConfigScripts.debug ] && echo " - colors ..." case "$TERM" in ansi|cons25|cygwin|dtterm|linux|rxvt|screen*|vt100|vt200|vt220|vt320| \ xterm|xterm-color|xterm-256color) @@ -97,6 +107,7 @@ esac # Enable bash completion, if available if ! shopt -oq posix; then + [ -e ~/.ConfigScripts.debug ] && echo " - bash completion ..." [ -z "$BASH_COMPLETION" -a -r /etc/bash_completion ] \ && source /etc/bash_completion [ -z "$BASH_COMPLETION" -a -r /usr/local/etc/bash_completion ] \ @@ -107,7 +118,13 @@ if ! shopt -oq posix; then && source /opt/local/etc/bash_completion fi +# Enable local virtualenvwrapper installation, if available +[ -e ~/.ConfigScripts.debug ] && echo " - virtualenvwrapper ..." +[ -r /usr/local/bin/virtualenvwrapper.sh ] \ + && source /usr/local/bin/virtualenvwrapper.sh + # Shell prompt +[ -e ~/.ConfigScripts.debug ] && echo " - prompt ..." PS1="${COLOR_PREPOSTTXT}${PS1_BEGIN:-<}" [ "$LOGNAME" = "root" ] \ || PS1="${PS1}${COLOR_USER}\u${COLOR_AT}@" @@ -125,6 +142,7 @@ PS1="${chroot_name:+[${COLOR_CHROOT}$chroot_name${COLOR_RESET}] }${PS1}" PS1="${COLOR_RESET}${PS1}" # If the command-not-found package is installed, use it +[ -e ~/.ConfigScripts.debug ] && echo " - command_not_found ..." if [ -r /etc/bash_command_not_found ]; then . /etc/bash_command_not_found elif [ -x /usr/lib/command-not-found ]; then @@ -140,7 +158,9 @@ elif [ -x /usr/lib/command-not-found ]; then fi # Common command aliases (2/2) +[ -e ~/.ConfigScripts.debug ] && echo " - aliases ..." alias "lasth"="last | head -n \`expr \\\$LINES - 2\`" +alias "lastf"="last | grep -v \"^\$LOGNAME\"" # Aliases for screen(1), if installed type -t screen >/dev/null @@ -175,6 +195,7 @@ if [ "$TERM" != "dumb" ]; then fi # If this is an xterm set the title to user@host:dir +[ -e ~/.ConfigScripts.debug ] && echo " - prompt command ..." case $TERM in xterm*|rxvt|screen) PROMPT_COMMAND='printf "\033]0;${LOGNAME}@${HOSTNAME}: ${PWD}\007"'