X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=rc%2Fbash_login;h=6cab6cd8ecf4a7052b0acf1fd6a5299ef0b58bed;hb=d3fcd96de3daed1d55b7cf3752456580120ae128;hp=1084f41a5771c475849e0f88d135c79d578cd84a;hpb=f4cba91d9cce314c632afe2e05987670c0d1813e;p=clearscm.git diff --git a/rc/bash_login b/rc/bash_login index 1084f41..6cab6cd 100644 --- a/rc/bash_login +++ b/rc/bash_login @@ -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 @@ -16,7 +16,11 @@ # when I become root with sudo -s and what a better environment that the bare # bones root environment gives you. Note that for us to be effective one must # source (or .) this file and if so the ${BASH_ARGV[0]} is the normal $0 -home=$(dirname ${BASH_ARGV[0]}) +if [ -n "${BASH_ARGV[0]}" ]; then + home=$(dirname ${BASH_ARGV[0]}) +else + home=$HOME +fi # Strip off .rc home=${home/%\/\.rc/} @@ -37,17 +41,26 @@ elif [ $KERNEL = "SunOS" ]; then export ARCHITECTURE=sun elif [ $KERNEL = "FreeBSD" ]; then export ARCHITECTURE=$KERNEL +elif [ $KERNEL = "Darwin" ]; then + export ARCHITECTURE=$KERNEL else export ARCHITECTURE='' 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 @@ -84,18 +97,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 @@ -114,10 +119,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 @@ -146,14 +164,23 @@ set -o monitor set +u # Shell options -shopt -s autocd +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 + shopt -s cdspell -shopt -s dirspell shopt -s histappend shopt -s lithist # Aliases: -if [ $ARCHITECTURE = "FreeBSD" ]; then +if [ $ARCHITECTURE = "FreeBSD" -o $ARCHITECTURE = "Darwin" ]; then alias ls="ls -FG" else if [ -f ~/.rc/dircolors ]; then @@ -165,7 +192,7 @@ else if [ $ARCHITECTURE = "sun" ]; then # Ugh! --color doesn't work on braindead SUN alias ls="ls -F" - else + else alias ls="ls -F --color=auto" fi fi @@ -192,11 +219,11 @@ else export LANG=C fi -if [ $(type -p vim) ]; then +if [ "$(type -p vim)" ]; then alias vi=vim fi -if [ $(type -p ncftp) ]; then +if [ "$(type -p ncftp)" ]; then alias ftp=ncftp alias ftpput=ncftpput alias ftpget=ncftpget @@ -204,13 +231,15 @@ fi #alias grep="grep -d skip" -if [ "$TERM" = "hpterm" -o \ - "$TERM" = "hp" -o \ - "$TERM" = "dtterm" -o \ - "$TERM" = "sun-color" -o \ - "$TERM" = "vt100" -o \ - "$TERM" = "vt220" -o \ - "$TERM" = "xterm" -o \ +if [ "$TERM" = "hpterm" -o \ + "$TERM" = "hp" -o \ + "$TERM" = "dtterm" -o \ + "$TERM" = "sun-color" -o \ + "$TERM" = "vt100" -o \ + "$TERM" = "vt220" -o \ + "$TERM" = "xtermc" -o \ + "$TERM" = "xterm" -o \ + "$TERM" = "xterm-256color" -o \ "$TERM" = "cygwin" ]; then alias cd=mycd alias pushd=mypushd @@ -265,7 +294,9 @@ if [ -d /opt/clearscm/lib ]; then fi # Lessfile -eval $(lessfile) +if type lessfile > /dev/null 2>&1; then + eval $(lessfile) +fi # Client specific customizations for script in $(\ls ~/.rc/client_scripts); do @@ -281,12 +312,15 @@ for script in $(\ls ~/.rc/client_scripts); do done # Set display to local -export DISPLAY=${DISPLAY:-:0} +export DISPLAY=${DISPLAY:-:0} # Reset home in case it changed HOME=$saved_home +# Odd but Eclipse's Egit can't seem to work with defaria.com unless this is set. +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