iankelling.org
/
git
/
distro-setup
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
various fixes and mail improvements
[distro-setup]
/
.bashrc
diff --git
a/.bashrc
b/.bashrc
index 7db792c3448da92d3e929ea4e04c76c513bd2637..53e4138d07b1ae1ba1e2fdacee445da6360a7491 100644
(file)
--- a/
.bashrc
+++ b/
.bashrc
@@
-38,21
+38,27
@@
# 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
# 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* ]] \
# 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
else
- source /etc/profile
- source ~/brc
+ if [[ -r /etc/profile ]]; then
+ source /etc/profile
+ fi
+ _x=$(readlink -f $BASH_SOURCE)
+ _x=${_x%/*}/brc
+ if [[ -r $_x ]]; then
+ source $_x
+ fi
fi
fi
+# ensure no bad programs appending to this file will have an affect
+return 0