summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/shadow.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm
index 4a9580a672..4cb8018827 100644
--- a/gnu/system/shadow.scm
+++ b/gnu/system/shadow.scm
@@ -120,6 +120,18 @@
 # Honor per-interactive-shell startup file
 if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n"))
                       (bashrc (text-file "bashrc" "\
+# Bash initialization for interactive non-login shells and
+# for remote shells (info \"(bash) Bash Startup Files\").
+
+if [ -n \"$SSH_CLIENT\" -a -z \"`type -P cat`\" ]
+then
+    # We are being invoked from a non-interactive SSH session
+    # (as in \"ssh host command\") but 'cat' cannot be found
+    # in $PATH.  Source /etc/profile so we get $PATH and other
+    # essential variables.
+    source /etc/profile
+fi
+
 PS1='\\u@\\h \\w\\$ '
 alias ls='ls -p --color'
 alias ll='ls -l'\n"))