]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - bash/rc
Improve source_debug() output.
[config/dotfiles.git] / bash / rc
diff --git a/bash/rc b/bash/rc
index d03d05e2f155142e9eb3958c6d8f92a09e1e6c86..7243ceb963138fbb99f7f923e0540a94f11f55dc 100644 (file)
--- a/bash/rc
+++ b/bash/rc
@@ -1,11 +1,13 @@
 # Main bash configuration file.
+#
+# Is sourced by all interactive shells and other shells like scp or rcp.
 
 
 # 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
+if [[ -f ~/.shell/env ]]; then
     . ~/.shell/env
 # Fallback functions as ~/.shell/env couldn't be loaded.
 else
@@ -17,13 +19,20 @@ else
     }
 fi
 
-source_debug "sourcing ~/.bash/rc"
+source_debug ". ~/.bash/rc"
 
 # 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.
 # Hostname is displayed in green, current directory in blue.
 PS1='\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \$ '
@@ -31,8 +40,15 @@ PS1='\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \$ '
 # Use Vi(m) style in bash.
 set -o vi
 
+# Load aliases and similar functions also used by other shells.
+if [[ -f ~/.shell/aliases ]]; then
+    . ~/.shell/aliases
+fi
+
 
 # Load rc file for current hostname (first part before a dot) or rc.local.
 source_config ~/.bash host rc $host
 
-source_debug "finished sourcing ~/.bash/env"
+source_debug ". ~/.bash/rc (done)"
+
+# vim: ft=sh