]> arthur.barton.de Git - ConfigScripts.git/blobdiff - sys/bashrc
Make check for "interactive shells" more robust
[ConfigScripts.git] / sys / bashrc
index 33fd599ef2e05ff113d2db89e74b300fb46c9754..40087fe34706f1da620ee249067091579d0c3660 100644 (file)
@@ -3,14 +3,20 @@
 # Written 2003-2014 by Alexander Barton (alex@barton.de)
 #
 
-[ -e ~/.ConfigScripts.debug ] && echo " >> /etc/bash.bashrc ..."
+[ -e ~/.ConfigScripts.debug ] && echo " .. /etc/bash.bashrc ..."
 
 BASHRCREAD="true"
 
 [ -z "$PROFILEREAD" -a -r /etc/profile ] && source /etc/profile
+[ -z "$PROFILEREAD" -a -r ~/.etc/profile ] && source ~/.etc/profile
+
+[ -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
 type -t keychain >/dev/null \
@@ -53,6 +59,10 @@ 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
 case "$TERM" in
        ansi|cons25|cygwin|dtterm|linux|rxvt|screen*|vt100|vt200|vt220|vt320| \
@@ -104,18 +114,17 @@ if ! shopt -oq posix; then
                && source /opt/local/etc/bash_completion
 fi
 
-# Shell prompt
-PS1_Path() {
-       P="${PWD/$HOME/~}"
-       echo "${P/???????????????????????????????*/${P:0:8}...${P: -20}}"
-}
+# Enable local virtualenvwrapper installation, if available
+[ -r /usr/local/bin/virtualenvwrapper.sh ] \
+       && source /usr/local/bin/virtualenvwrapper.sh
 
+# Shell prompt
 PS1="${COLOR_PREPOSTTXT}${PS1_BEGIN:-<}"
 [ "$LOGNAME" = "root" ] \
        || PS1="${PS1}${COLOR_USER}\u${COLOR_AT}@"
 PS1="${PS1}${COLOR_HOST}\h"
 PS1="${PS1}${COLOR_COLON}:"
-PS1="${PS1}${COLOR_PATH}\$(PS1_Path) "
+PS1="${PS1}${COLOR_PATH}\W "
 PS1="${PS1}${COLOR_HISTORY}\!"
 PS1="${PS1}${COLOR_PREPOSTTXT}${PS1_END:->}${COLOR_RESET} "
 [ "$LOGNAME" = "root" ] \
@@ -143,6 +152,7 @@ fi
 
 # Common command aliases (2/2)
 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