I have a few files run at login (could be one big file, bug modularized by function)...
I did a 'sudo' and caught caught by this... I hve a check to see if I am in an interactive session, if so I do some more stuff than if I was being called in a shell file. I turned on a debug line that prints $- at the enter/exit points of each subscript: It put out: entering /home/law/.bash_env ... himBH >> /etc/local/aliases.sh... himBH exiting /etc/local/aliases.sh... himBH entering /etc/local/bashrc.sh ... himBH entering /etc/local/profile.sh... himBH >> /etc/local/aliases.sh... himBH exiting /etc/local/aliases.sh... himBH entering /etc/local/vars.sh ... himBH entering /etc/local/common.sh... himBH hmuBH <<<<---- this one doesn't have the interactive bit set.. exiting /etc/local/common.sh... himB exiting /etc/local/profile.sh... himB exiting /etc/local/bashrc.sh ... himB ---- set -o from before the one before to after that one: entering /etc/local/vars.sh ... himBH >>>>>>/etc/local/common.sh#7> [[ -n '' ]] >>>>>>/etc/local/common.sh#7> [[ -O /tmp/debug_local ]] >>>>>>/etc/local/common.sh#8> echo 'entering /etc/local/common.sh...' entering /etc/local/common.sh... >>>>>>/etc/local/common.sh#9> [[ -O /tmp/debug_local ]] >>>>>>/etc/local/common.sh#9> source /tmp/debug_local >>>>>>>/tmp/debug_local#1> echo himxBH himxBH >>>>>>/etc/local/common.sh#11> typeset -xr _LOCAL_DIR_=/etc/local >>>>>>/etc/local/common.sh#13> >>>>>>_local_common_nounset=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor:xtrace >>>>>>/etc/local/common.sh#14> set -o nounset >>>>>>/etc/local/common.sh#16> alias 'PUB_CONST=typeset -xr' >>>>>>/etc/local/common.sh#17> alias 'PUBLIC=typeset -x' >>>>>>/etc/local/common.sh#18> shopt -s expand_aliases >>>>>>/etc/local/common.sh#19> echo hmuxBH << interactive 'off' >>>>>>(why?) hmuxBH >>>>>>/etc/local/common.sh#20> set +x exiting /etc/local/common.sh... +++++ set +x exiting /etc/local/common.sh... -------------- In source, that corresponds to: set -x [[ -n ${DEBUG:-} || -O /tmp/debug_local ]] && { echo "entering $BASH_SOURCE..." >&2; [[ -O /tmp/debug_local ]] && source /tmp/debug_local ; } ### the echo $_ was put into here. typeset -xr _LOCAL_DIR_=${_LOCAL_DIR_:="/etc/local"} 2>/dev/null _local_common_nounset=${SHELLOPTS/*nounset*/nounset} set -o nounset alias PUB_CONST="typeset -xr" alias PUBLIC="typeset -x" shopt -s expand_aliases echo ${-/i} set +x if [ -n "${_sh_interactive_shell:-}" ] ; then So is there something between those lines that would turn off the interactive switch ??? Or how could this happen? Thanks!