Removed /usr/local from CDPATH
[clearscm.git] / rc / bash_login
index c8807d0..bd91f1c 100644 (file)
@@ -1,7 +1,7 @@
 ################################################################################
 #
 # File:         $RCSfile: bash_login,v $
-# Revision:        $Revision: 1.29 $
+# Revision:    $Revision: 1.29 $
 # Description:  bash startup file
 # Author:       Andrew@DeFaria.com
 # Created:      Mon Aug 20 17:35:01  2001
@@ -48,12 +48,19 @@ else
   echo "Warning: Unknown architecture ($KERNEL)"
 fi
 
-# Architectual differences (AKA Silly Sun)
-if [ $ARCHITECTURE = "sun" ]; then
-  alias id=/usr/xpg4/bin/id
-  alias tr=/usr/xpg4/bin/tr
-  
-  export id=/usr/xpg4/bin/id
+# Hack: Just set TERM to xterm
+if [ $ARCHITECTURE = 'sun' ]; then
+  id=/usr/xpg4/bin/id
+  tr=/usr/xpg4/bin/tr
+  TERM=xtermc
+else
+  id=id
+  tr=tr
+  if [ $ARCHITECTURE = 'cygwin' ]; then
+    TERM=cygwin
+  else
+    TERM=xterm
+  fi
 fi
 
 # Set colors
@@ -71,6 +78,7 @@ else
 fi
 
 export VISUAL=vi
+export EDITOR=vi
 
 # Terminal settings:
 if [ "$TERM" = ""        -o \
@@ -90,18 +98,10 @@ else
    export SYSNAME="*Unknown Systemname*:"
 fi
 
-# System dependencies
-# Note: I don't like doing this but an alias doesn't work...
-if [ $ARCHITECTURE = "sun" ]; then
-  id=/usr/xpg4/bin/id
-else
-  id=id
-fi
-
 umask 002
 
 if [ "$interactive" = "true" ]; then
-  stty tostop intr ^C kill ^X susp ^Z erase ^H -inpck -istrip -ixany -echok -echonl
+  stty tostop intr ^C kill ^X susp ^Z erase ^? -inpck -istrip -ixany -echok -echonl
 fi
 
 # Set adm_base
@@ -120,10 +120,23 @@ fi
 # Source bash_completion (if present) (too slow for Windows)
 if [ -r /etc/bash_completion -a $ARCHITECTURE != "cygwin" ]; then
   source /etc/bash_completion
+elif [ -r /usr/local/etc/bash_completion ]; then
+  source /usr/local/etc/bash_completion
 fi
 
-if [ -x ~/.rc/logout ]; then
-  trap "~/.rc/logout" 0
+# Windows aliases
+if [ $ARCHITECTURE = "cygwin" ]; then
+  alias ping=$(echo $SYSTEMROOT | tr '\\' '\/')/system32/ping
+  alias rdp=mstsc
+else
+  alias sys=systemctl
+fi
+
+# We specify /home/$USER here so that when we sudo to another user 
+# we will only trap logout if that user also has a ~/.rc/logout
+# (doubtfull).
+if [ -x /home/$USER/.rc/logout ]; then
+  trap "/home/$USER/.rc/logout" 0
 fi
 
 # ClearCase Stuff
@@ -152,10 +165,14 @@ set -o monitor
 set +u
 
 # Shell options
-if [ $ARCHITECTURE != 'Darwin' ]; then
-  if ! grep -qP '5\.(6|7|8|9|10)' /etc/*release; then
-    shopt -s autocd   > /dev/null 2>&1
-    shopt -s dirspell > /dev/null 2>&1
+if [ $ARCHITECTURE != 'Darwin' -a $ARCHITECTURE != 'sun' ]; then
+  ls /etc/*release > /dev/null 2>&1
+
+  if [ $? = 0 ]; then
+    if ! grep -qP '5\.(6|7|8|9|10)' /etc/*release; then
+      shopt -s autocd   > /dev/null 2>&1
+      shopt -s dirspell > /dev/null 2>&1
+    fi
   fi
 fi
 
@@ -184,6 +201,7 @@ fi
 alias ll="ls -la"
 alias whence="type -p"
 alias mroe=more
+alias gti=git
 
 if [ $ARCHITECTURE = "cygwin" ]; then
   alias host=nslookup
@@ -221,6 +239,7 @@ if [ "$TERM" = "hpterm"         -o \
      "$TERM" = "sun-color"      -o \
      "$TERM" = "vt100"          -o \
      "$TERM" = "vt220"          -o \
+     "$TERM" = "xtermc"         -o \
      "$TERM" = "xterm"          -o \
      "$TERM" = "xterm-256color" -o \
      "$TERM" = "cygwin" ]; then
@@ -230,7 +249,7 @@ if [ "$TERM" = "hpterm"         -o \
 fi
 
 # Miscellaneous:
-if [ -x $(type -p less) ]; then
+if type -p less > /dev/null; then
    export LESS=eiXP"?f%f :[stdin] .?pt(%pt\%):?bt(%bt bytes):-.."
    alias more="less -sr"
    export PAGER="less -sr"
@@ -292,11 +311,22 @@ for script in $(\ls ~/.rc/client_scripts); do
      ! -d ~/.rc/client_scripts/$script ]; then
     source ~/.rc/client_scripts/$script
   fi
+
+  # Special case for cPanel. Above relies on just the execute bit but
+  # git tracks mode. So we can't have it executable while at home. So
+  # instead we will look if we are on a 10. network (i.e. at cPanel)
+  # verses a 192. network at home.
+  if [[ $(/bin/hostname -i) =~ 10\. && $script = "cPanel" ]]; then
+    source ~/.rc/client_scripts/$script
+  fi
 done
 
-# Set display to local
+# Set prompt as client customization may have changed things
+set_prompt
 
+# Set display to local
 export DISPLAY=${DISPLAY:-:0}
+
 # Reset home in case it changed
 HOME=$saved_home
 
@@ -304,6 +334,6 @@ HOME=$saved_home
 export GIT_SSH=/usr/bin/ssh
 
 # Now go home (in case we were not autmatically cd'ed there)
-if [ $(id -u) -ne 0 ]; then
+if [ $($id -u) -ne 0 ]; then
   cd
 fi