# which we could test for, but I can't think of a way to make that
# inherently limited to a single ssh command. I choose to set SendEnv
# and AcceptEnv ssh config vars to allow the environment variable
-# BASH_LOGIN_SHELL to propagate across ssh.
+# BASH_LOGIN_SHELL to propagate across ssh. This also requires that we
+# wrap ssh in interactive shells, because, once we export the var, it
+# will go into scripts and theres no way to automatically set it.
-# assume we want ssh commands to source this file if we are sourcing it,
-# and we haven't specified otherwise already
-[[ ! $BASH_LOGIN_SHELL ]] && export BASH_LOGIN_SHELL=true
-#BASH_LOGIN_SHELL=false # temporary override
# first conditions show that we are an ssh command without an interactive shell
if [[ $SSH_CONNECTION ]] \
&& [[ $- == *c* ]] \
&& [[ ! $SSH_TTY ]] \
&& [[ $- != *i* ]] \
- && [[ ! $BASH_LOGIN_SHELL == true ]]; then
- return
+ && [[ $BASH_LOGIN_SHELL != true ]]; then
+ return 0
else
if [[ -r /etc/profile ]]; then
source /etc/profile
source $_x
fi
fi
+# ensure no bad programs appending to this file will have an affect
+return 0