On 26.01.2017 03:25 PM, Stefan Baur wrote:
So what remains is the question why .bashrc is being sourced on OpenSuse
- for ksh
- in a non-interactive session equivalent to 'bash -l -c "echo foo"'
Re: 1), I would take that up with the OpenSuse folks if I were you.
X2Go Client 4.0.5.1+ (hope I'm correct on the version) explicitly runs bash -l -c '...', so that's why ~/.bashrc is executed.
Re: 2), I'm not sure if that is expected bash behavior or not. Mihai might know this from the top of his head, while I would have to go dig through the specs. If it's not expected behavior, then the question is if it's happening due to something you changed (like manually sourcing that file from another file that gets sourced), or if it is a bug with OpenSuse as well.
Yes, it is expected behavior. Running ~/.bashrc is only bypassed when calling bash as a non-interactive, non-login shell. We explicitly spawn a login shell, though.
A good diagram regarding this rather complicated matter: http://blog.flowblok.id.au/static/images/shell-startup-actual.png
Mihai