+# -*- mode: sh; coding: utf-8 -*-
#
# $Id: .bashrc,v 1.6 1996/12/08 20:33:42 mdw Exp $
#
PS2="> "
PS4="+ "
else
-
+
case "$TERM" in
linux*|screen*|xterm*|vt100*)
bold='\[\e[1m\]' unbold='\[\e[m\]' nl='\[\r\]' ;;
esac
if (( EUID == 0 )); then
- left="«" right="»"
- elif [ "$__mdw_tty" = "`tty`" ]; then
- left="<" right=">"
+ left=`echo « | iconv -f utf8 -t //translit`
+ right=`echo » | iconv -f utf8 -t //translit`
else
- left="[" right="]"
- export __mdw_tty="`tty`"
+ case $USER in
+ mdw|mwooding)
+ u="" left="[" right="]"
+ ;;
+ *)
+ u="\\u@" left="{" right="}"
+ ;;
+ esac
+ if [ "$__mdw_tty" = "`tty`" ]; then
+ left="<" right=">"
+ else
+ export __mdw_tty="`tty`"
+ fi
fi
if [ -z "$SSH_CLIENT" ] &&
sec_l='(' sec_r=')'
fi
- PS1="$nl$bold$left$sec_l\\h$sec_r \\w$right$unbold"
+ PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$right$unbold"
PS2="$PS1 $bold>$unbold "
fi
shopt -s sourcepath
# --- Set the CDPATH ---
-#
+#
# CDPATH=~/src:/usr/src:/usr/lib:/usr/share
# dots=..
# i=6
fi
}
-# --- Setting xterm titles ---
-#
-# This doesn't work so well any more. :-(
-
-# if [ -e /usr/lib/bash/xtitle.so ]; then
-# enable -f /usr/lib/bash/xtitle.so xtitle
-# elif [ -e /usr/local/lib/xtitle.so ]; then
-# enable -f /usr/local/lib/xtitle.so xtitle
-# elif [ -e $HOME/lib/bash/xtitle.so ]; then
-# enable -f $HOME/lib/bash/xtitle.so xtitle
-# else
-# xtitle () { return 1; }
-# fi
-xtitle () { return 1; }
-
-entitle () {
- local t="`xtitle -q`" st
- xtitle "$t $1"
- shift
- "$@"; st=$?
- xtitle "$t"
- return $st
-}
-
# --- Set up some simple aliases ---
alias cx='chmod a+x'
alias which="command -v"
alias ssync="rsync -e ssh"
-alias rootly="entitle root become -g0 root"
+alias rootly=$__MDW_ROOTLY
alias r=rootly
-alias re="rootly sensible-editor"
-alias eh="entitle 'Egham Hills 90210' tf eh"
-alias news="entitle Usenet slrn"
-alias splitvt='splitvt -t "`xtitle -q || echo xterm` splitvt"'
-alias pstree="pstree -Ghl"
+alias re="rootly $EDITOR"
+alias pstree="pstree -hl"
alias cdtmp='cd ${TMPDIR-/tmp}'
alias pushtmp='pushd ${TMPDIR-/tmp}'
-alias e="sensible-editor"
+alias e="$EDITOR"
alias svn="svnwrap svn"
+alias @="ssh"
-@ () {
- local t="`xtitle -q`" host="$1"
- shift
- xtitle "$t [$host]"
- ssh "$host" "$@"
- xtitle "$t"
-}
+[ -r /etc/bash_completion ] && . /etc/bash_completion
+[ -r $HOME/.bash_completion ] && . $HOME/.bash_completion
# --- Make `xt' start an xterm, maybe logging into a remote host ---
esac
}
+# --- Turning on and off path hacks ---
+
+path-add () {
+ local pathvar export dir val
+ case $# in
+ 1) pathvar=PATH dir=$1 export="export PATH";;
+ 2) pathvar=$1 dir=$2 export=:;;
+ *) echo >&2 "Usage: $0 [VAR] DIR";;
+ esac
+ eval "val=\$$pathvar"
+ case ":$val:" in
+ *:"$dir":*) ;;
+ *) val=$dir:$val ;;
+ esac
+ eval "$pathvar=\$val"
+ $export
+}
+
+path-remove () {
+ local pathvar export dir val
+ case $# in
+ 1) pathvar=PATH dir=$1 export="export PATH";;
+ 2) pathvar=$1 dir=$2 export=:;;
+ *) echo >&2 "Usage: $0 [VAR] DIR";;
+ esac
+ eval "val=\$$pathvar"
+ case ":$val:" in
+ :"$dir":) val= ;;
+ :"$dir":*) val=${val#$dir:} ;;
+ *:"$dir":) val=${val%:$dir} ;;
+ *:"$dir":*) val=${val/:$dir:/:} ;;
+ esac
+ eval "$pathvar=\$val"
+ $export
+}
+
+pathhack () {
+ if [ $# -eq 0 ]; then
+ local IFS=:
+ for e in $PATH; do
+ case "$e" in
+ "$HOME/bin/hacks/"*)
+ echo ${e#$HOME/bin/hacks/}
+ ;;
+ esac
+ done
+ return
+ fi
+ local force=nil
+ local path=$PATH
+ while [ $# -gt 0 ]; do
+ arg=$1
+ case "$arg" in
+ -f | --force)
+ force=t
+ shift
+ continue
+ ;;
+ --)
+ shift
+ break
+ ;;
+ [-+]*)
+ ;;
+ *)
+ break
+ ;;
+ esac
+ hack=${arg#[+-]}
+ dir=$HOME/bin/hacks/$hack
+ [ -d "$dir" ] || {
+ echo "$0: path hack $hack not found"
+ return 1
+ }
+ case "$arg,$force,:$PATH:" in
+ -*,*,*:"$dir":*)
+ path-remove path "$dir"
+ ;;
+ +*,t,*:"$dir":*)
+ path-remove path "$dir"
+ path-add path "$dir"
+ ;;
+ +*,nil,*:"$dir":*)
+ ;;
+ +*,*)
+ path-add path "$dir"
+ ;;
+ esac
+ shift
+ done
+ if [ $# -eq 0 ]; then
+ PATH=$path
+ export PATH
+ else
+ PATH=$path "$@"
+ fi
+}
+
# --- Fix `man' under Slowaris ---
case "$MACHTYPE" in
set -o noclobber
fi
+[ -f "$HOME/.bashrc-local" ] && . "$HOME/.bashrc-local"
+
fi