Mercurial > index.cgi > dotfiles
view .bashrc @ 4:6ffd3fb73f7f
s/\~\//\$HOME\//g - There's possibly a nicer way to make sure tilde expansion
is done in the right places, but this works just as well and doesn't require
extra thinking when I'm half asleep :P
Added (^|:) to start, and ($|:) to end of all tests to make sure we're
matching a full path.
Also test for (and append if not there) a ':' at the end of $MANPATH;
otherwise Linux systems tend to forget how to search system paths.
author | huston@80426f53-59d1-405d-934b-f07cd76f4a1a |
---|---|
date | Sat, 11 Apr 2009 06:54:02 +0000 |
parents | 072b183989e0 |
children | 3d0de329a850 |
line wrap: on
line source
# .bashrc # This file is sourced for shells which are interactive but not a # login shell; however, since it is also sourced within # $HOME/.bash_profile, the end result is that this file is sourced for all # shells. # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions if [ -f $HOME/.bash_aliases ]; then . $HOME/.bash_aliases fi # # Environment variables # export PS1='\h:\w\$ ' export PAGER=less export EDITOR=vim # # Paths # # Standard-ish paths; some of these may be in place already, but if # they're not they should probably go near the front of the pack. for P in /sbin /usr/sbin /usr/local/bin /usr/local/sbin \ /opt/local/bin /opt/local/sbin ; do [[ "$PATH" =~ "(^|:)$P($|:)" ]] || \ export PATH=${P}${PATH:+:$PATH} done for M in /usr/local/share/man /usr/local/man /opt/local/share/man ; do [[ "$MANPATH" =~ "(^|:)$M($|:)" ]] || \ export MANPATH=${M}${MANPATH:+:$MANPATH} done # Local Perl install if [ -d $HOME/perl ]; then [[ "$PERL5LIB" =~ "(^|:)$HOME/perl($|:)" ]] || \ export PERL5LIB=$HOME/perl${PERL5LIB:+:$PERL5LIB} if [ -d $HOME/perl/share/man ]; then [[ "$MANPATH" =~ "(^|:)$HOME/perl/share/man($|:)" ]] || \ export MANPATH=$HOME/perl/share/man:${MANPATH:+$MANPATH} fi if [ -d $HOME/perl/bin ]; then [[ "$PATH" =~ "(^|:)$HOME/perl/bin($|:)" ]] || \ export PATH=$HOME/perl/bin${PATH:+:$PATH} fi fi # Local install paths - install things to $HOME/Installs directories, and # they will automatically get the proper paths added. Most things # that use autoconf will do this with # './configure --prefix=$HOME/Installs' for D in $HOME/Installs/* ; do if [ -d $D/bin ]; then [[ "$PATH" =~ "(^|:)$D/bin($|:)" ]] || \ export PATH=$D/bin${PATH:+:$PATH} fi if [ -d $D/share/man ]; then [[ "$MANPATH" =~ "(^|:)$D/share/man($|:)" ]] || \ export MANPATH=$D/share/man:${MANPATH:+$MANPATH} fi if [ -d $D/man ]; then [[ "$MANPATH" =~ "(^|:)$D/man($|:)" ]] || \ export MANPATH=$D/man:${MANPATH:+$MANPATH} fi if [ -d $D/lib ]; then [[ "$LD_LIBRARY_PATH" =~ "(^|:)$D/lib($|:)" ]] || \ export LD_LIBRARY_PATH=$D/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} fi done # Now make sure $HOME/bin is top of the list (or at least present) if [ -d $HOME/bin ]; then [[ "$PATH" =~ "(^|:)$HOME/bin($|:)" ]] || \ export PATH=$HOME/bin${PATH:+:$PATH} fi # Last, make sure to end MANPATH with a ':' to force include of system paths # (some versions of man take care of this, but it doesn't hurt to have it # anyway) [[ "$MANPATH" =~ ":$" ]] || export MANPATH=$MANPATH: