X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bash%2Frc;h=d876fe9d5a4b68ea3039496490dd37dc08f8916b;hb=0627246aa2b5db1320965061e517f65742be9d19;hp=d03d05e2f155142e9eb3958c6d8f92a09e1e6c86;hpb=ba926cda844bdd42b39d50fb926068f7a3dc4018;p=config%2Fdotfiles.git diff --git a/bash/rc b/bash/rc index d03d05e..d876fe9 100644 --- a/bash/rc +++ b/bash/rc @@ -1,38 +1,46 @@ # Main bash configuration file. - - -# Get the current hostname (first part before a dot). -host=$(echo $(hostname) | sed -e 's/\..*$//') - -# Load environmental related settings used by all shells. -if [ -f ~/.shell/env ]; then - . ~/.shell/env -# Fallback functions as ~/.shell/env couldn't be loaded. -else - function source_debug() { - echo $@ - } - function source_config() { - echo "Couldn't load source_config(), can't source files." >&2 - } +# +# Is sourced by all interactive bash shells and other shells like scp or rcp. + +# Copyright (C) 2011-2013 Simon Ruderich +# +# This file is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file. If not, see . + + +. ~/.shell/functions + +source_config ~/.shell/env + + +# Check if this is an interactive shell. Abort if not to prevent problems with +# scp and rcp. Taken from default Debian bashrc. Thanks. +if [[ $- != *i* ]]; then + return fi -source_debug "sourcing ~/.bash/rc" - -# Load global env file for current hostname (first part before a dot) or -# global env.local. -source_config ~/.shell "" env $host - # Set the prompt; hostname and current working directory are displayed. -# Hostname is displayed in green, current directory in blue. -PS1='\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \$ ' +# Hostname is displayed in bold green, current directory in yellow. +PS1='\[\033[01;32m\]\h\[\033[00m\]:\[\033[33m\]\w\[\033[00m\] \$ ' -# Use Vi(m) style in bash. +# Use Vi(m) style readline mappings in bash. set -o vi -# Load rc file for current hostname (first part before a dot) or rc.local. -source_config ~/.bash host rc $host +source_config ~/.shell/aliases +source_config ~/.shell/rc + +source_config ~/.bash/rc.local -source_debug "finished sourcing ~/.bash/env" +# vim: ft=sh