#
# /etc/bash.bashrc: System-wide rc file for interactive bash(1) shells.
-#
-# 2008-08-07, alex@barton.de
-# - ls: Detech BSD color support (-G).
-# - Support /etc/chroot_name
-# 2008-07-09, alex@barton.de
-# - Added support for /usr/lib/command-not-found.
-# 2008-06-06, alex@barton.de
-# - Source /etc/[bash].bashrc.local as well, if readable.
-# 2007-04-05, alex@barton.de
-# - Define shell functions sshtmp() and sshnew().
-# 2006-01-04, alex@barton.de
-# - Only call dircolors(1) and lesspipe(1) if they are available.
-# - Check wether ls(1) knows something about "--color".
-# 2005-12-29, alex@barton.de
-# - Enabled bash completion
-# 2004-09-13, alex@Arthur.Ath.CX
-# - Made script more generic ...
-# 2004-05-27, alex@Arthur.Ath.CX
+# Written 2003-2010 by Alexander Barton (alex@barton.de)
#
-[ -e /tmp/ConfigDebug.$USER ] && echo " >> /etc/bash.bashrc ..."
+[ -e ~/.ConfigScripts.debug ] && echo " >> /etc/bash.bashrc ..."
BASHRCREAD="true"
[ -z "$PROFILEREAD" -a -r /etc/profile ] && source /etc/profile
# Interactive shell?
-if [ ! "$PS1" ]; then
- [ -r "/var/lib/$ME/bash.bashrc" ] && source /var/lib/$ME/bash.bashrc
- return
-fi
+[ "$PS1" ] || return
# Shell options
shopt -s checkwinsize
ssh -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" "$@"
}
+# Colors
+case "$TERM" in
+ ansi|cons25|cygwin|dtterm|linux|rxvt|screen*|vt100|vt200|vt220|vt320| \
+ xterm|xterm-color)
+ # color terminal
+
+ # colors for shell prompt etc.
+ COLOR_RESET="\[\e[0m\]"
+ COLOR_PREPOSTTXT="\[\e[1;37m\]"
+ COLOR_USER="\[\e[0;4m\]"
+ COLOR_AT="\[\e[0;37m\]"
+ COLOR_HOST="\[\e[0;4m\]"
+ COLOR_COLON="\[\e[0;37m\]"
+ COLOR_PATH=$reset
+ COLOR_PROMPT_USER="\[\e[1;32m\]"
+ COLOR_PROMPT_ROOT="\[\e[1;31m\]"
+ COLOR_VCS="\[\e[1;33m\]"
+
+ # colors for less(1) pager
+ export LESS_TERMCAP_mb=$'\E[1;33m'
+ export LESS_TERMCAP_md=$'\E[1;31m'
+ export LESS_TERMCAP_me=$'\E[0m'
+ export LESS_TERMCAP_se=$'\E[0m'
+ export LESS_TERMCAP_so=$'\E[1;33;44m'
+ export LESS_TERMCAP_ue=$'\E[0m'
+ export LESS_TERMCAP_us=$'\E[1;32m'
+esac
+
# Shell prompt
-prefix="${chroot_name:+($chroot_name)}"
[ "$UID" -eq 0 ] \
- && PS1="${prefix}\h:\w \\\$ " \
- || PS1="${prefix}\u@\h:\w \\\$ "
+ && PS1="\h:\w \\\$ " \
+ || PS1="\u@\h:\w \\\$ "
+if [ "\$(type -t __git_ps1)" ]; then
+ PS1="\$(__git_ps1 '(%s) ')$PS1"
+fi
+PS1="${chroot_name:+[$chroot_name] }$PS1"
# Enable bash completion, if available
-[ -r /etc/bash_completion ] && source /etc/bash_completion
+[ -z "$BASH_COMPLETION" -a -r /etc/bash_completion ] \
+ && source /etc/bash_completion
+[ -z "$BASH_COMPLETION" -a -r /opt/homebrew/etc/bash_completion ] \
+ && source /opt/homebrew/etc/bash_completion
+[ -z "$BASH_COMPLETION" -a -r /opt/local/etc/bash_completion ] \
+ && source /opt/local/etc/bash_completion
# If the command-not-found package is installed, use it
-if [ -x /usr/lib/command-not-found ]; then
+if [ -r /etc/bash_command_not_found ]; then
+ . /etc/bash_command_not_found
+elif [ -x /usr/lib/command-not-found ]; then
function command_not_found_handle {
# Check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
alias "l"="ll -a"
alias "lasth"="last | head -n \`expr \\\$LINES - 2\`"
-# less filter
+# Aliases for screen(1), if installed
+type -p screen >/dev/null 2>&1
+if [ $? -eq 0 ]; then
+ alias "s"="screen"
+ alias "sr"="screen -dr"
+ alias "sx"="screen -x"
+fi
+
+# less(1) filter, if available
type -p lesspipe >/dev/null 2>&1 && eval `lesspipe`
-# Enable color support of ls and also add handy aliases
+# Initialize ccache(1), if installed
+if [ -d "/usr/lib/ccache" ]; then
+ PATH="/usr/lib/ccache:$PATH"
+ # Set the cache directory to local storage, if available
+ [ -w "/usr/local/home/$USER" ] \
+ && export CCACHE_DIR="/usr/local/home/$USER/.ccache"
+fi
+
+# Setup slrn(1) and cleanscore(1), if installed
+type -p cleanscore >/dev/null 2>&1
+[ $? -eq 0 ] && alias slrn="cleanscore -f ~/.slrnscore && slrn"
+
+# Enable color support of ls(1) and also add handy aliases
if [ "$TERM" != "dumb" ]; then
type -p dircolors >/dev/null 2>&1 && eval `dircolors -b`
ls --color / >/dev/null 2>&1
# If this is an xterm set the title to user@host:dir
case $TERM in
xterm*|rxvt|screen)
- PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
+ PROMPT_COMMAND='printf "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
;;
*)
;;