X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=rc%2Fbash_login;h=c8807d02b12f21186ad29ca3d688c74539db7ba1;hb=fc7084ebcc37d27c78195c12f2d18a07801340ab;hp=79d1c603b8a8ee13f52d5f62cf1a9de228c30a8f;hpb=759ea804468fe887d150c9b2b01fb9607c4d5ea4;p=clearscm.git diff --git a/rc/bash_login b/rc/bash_login index 79d1c60..c8807d0 100644 --- a/rc/bash_login +++ b/rc/bash_login @@ -11,6 +11,26 @@ # (c) Copyright 2000-2005, Andrew@DeFaria.com, all rights reserved. # ################################################################################ +# The following will set HOME, temporarily, to the directory of my $HOME so that +# somebody other than me can envoke my startup scripts. I use this mainly for +# 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 +if [ -n "${BASH_ARGV[0]}" ]; then + home=$(dirname ${BASH_ARGV[0]}) +else + home=$HOME +fi + +# Strip off .rc +home=${home/%\/\.rc/} + +# Now set $HOME if $home is different. +saved_home=$HOME +if [ "$HOME" != "$home" ]; then + HOME=$home +fi + # Set ARCHITECTURE of the machine KERNEL=$(uname -s) if [[ $KERNEL = CYGWIN* ]]; then @@ -21,6 +41,8 @@ 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)" @@ -130,14 +152,19 @@ set -o monitor set +u # Shell options -shopt -s autocd +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 + 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 @@ -149,7 +176,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 @@ -169,14 +196,18 @@ fi if [ -f "$SYSTEMDRIVE/Perl/bin/perl" ]; then alias asperl="$SYSTEMDRIVE/Perl64/bin/perl" fi - -export LANG=C -if [ $(type -p vim) ]; then +if [ $(locale -a | grep -c en_US.utf8) != 0 ]; then + export LANG=en_US.utf8 +else + export LANG=C +fi + +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 @@ -184,13 +215,14 @@ 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" = "xterm" -o \ + "$TERM" = "xterm-256color" -o \ "$TERM" = "cygwin" ]; then alias cd=mycd alias pushd=mypushd @@ -244,6 +276,11 @@ if [ -d /opt/clearscm/lib ]; then export PERL5LIB="$PERL5LIB:/opt/clearscm/lib" fi +# Lessfile +if type lessfile > /dev/null 2>&1; then + eval $(lessfile) +fi + # Client specific customizations for script in $(\ls ~/.rc/client_scripts); do # This is not working as long as ACLs are not supported from the remote @@ -258,7 +295,13 @@ for script in $(\ls ~/.rc/client_scripts); do done # Set display to local + 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