X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=bash%2Frc;h=3dfadbbbecff5968a0781b44fb6db1803b31906c;hb=236d8125f35d68d4277d4e40d71fbb384750ed94;hp=3e17648afa8fcf10da45358bcb771a7ef7debe77;hpb=dd87c200babeaa8006cbe7df050e1477c84a5aba;p=config%2Fdotfiles.git diff --git a/bash/rc b/bash/rc index 3e17648..3dfadbb 100644 --- a/bash/rc +++ b/bash/rc @@ -1,27 +1,35 @@ # Main bash configuration file. +# +# 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 . -# 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 - } -fi -source_debug "sourcing ~/.bash/rc" +. ~/.shell/functions + +source_debug ". ~/.bash/rc" + +source_config ~/.shell/env -# Load global env file for current hostname (first part before a dot) or -# global env.local. -source_config ~/.shell "" env $host + +# 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 # Set the prompt; hostname and current working directory are displayed. @@ -32,9 +40,11 @@ PS1='\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \$ ' 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" +source_debug ". ~/.bash/rc (done)" # vim: ft=sh