X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=rc%2Fbash_login;h=53bccb973aaec91d07997537ca2d47cdb2cb0366;hb=9ed7209cfd57660436721ff5bf60d58e62ede295;hp=f39ebb3e2a97a26853d7f36646a4bb65c4f0276c;hpb=c3db9883eebdeb53115e8b308f98a3bae9266238;p=clearscm.git diff --git a/rc/bash_login b/rc/bash_login index f39ebb3..53bccb9 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 @@ -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 @@ -100,8 +120,6 @@ if [ -r /etc/bash_completion -a $ARCHITECTURE != "cygwin" ]; then source /etc/bash_completion fi -export CVSROOT=:ext:andrew@clearscm.com:/var/cvs/cvsroot - if [ -x ~/.rc/logout ]; then trap "~/.rc/logout" 0 fi @@ -116,6 +134,11 @@ if [ -f ~/.rc/multisite ]; then source ~/.rc/multisite fi +# Git Stuff +if [ -f ~/.rc/git ]; then + source ~/.rc/git +fi + # Import shell functions: if [ -f ~/.rc/functions ]; then source ~/.rc/functions @@ -126,6 +149,14 @@ set -o emacs set -o monitor set +u +# Shell options +if ! grep -qP '5\.(6|7|8|9|10)' /etc/*release; then + shopt -s autocd + shopt -s dirspell +fi + +shopt -s cdspell +shopt -s histappend shopt -s lithist # Aliases: @@ -141,7 +172,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 @@ -154,7 +185,19 @@ if [ $ARCHITECTURE = "cygwin" ]; then alias host=nslookup fi -export LANG=C +if [ -f "$SYSTEMDRIVE/Perl64/bin/perl" ]; then + alias asperl="$SYSTEMDRIVE/Perl64/bin/perl" +fi + +if [ -f "$SYSTEMDRIVE/Perl/bin/perl" ]; then + alias asperl="$SYSTEMDRIVE/Perl64/bin/perl" +fi + +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 @@ -223,6 +266,16 @@ fi # Color man pages with yellow keywords export LESS_TERMCAP_md=$'\e[1;33m' +# If /opt/clearscm/lib is around then set PERL5LIB +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 @@ -239,6 +292,9 @@ done # Set display to local export DISPLAY=${DISPLAY:-:0} +# Reset home in case it changed +HOME=$saved_home + # Now go home (in case we were not autmatically cd'ed there) if [ $(id -u) -ne 0 ]; then cd