"Note that output from .bashrc stuffs up rsync and scp, in case you use them. Enclose the lot in { .... } >&2"
I call a shell script from my .bashrc so does this have the same effect? I'll take this advice and wrap the script. I don't use scp or rsync but possible could at some time, thanks @emmelaich.
Enclose the lot in { .... } >&2
to send output to stderr instead.
Or only output if the session is interactive, with isatty or if PS1 is set or $- contains 'i'.