title: Bash interactive and non-interactive shell behaviour
body: <p>I have a hard time with interactive and non-interactive shells. I don't understand which is which.</p>
  
  <p>For example, I have read that non interactive shells usually check for the <code>BASH_ENV</code> variable on their startup and execute whatever it points to.</p>
  
  <p>So, what I did is I set the <code>BASH_ENV</code> to point to some script which only echoes OK. Then I typed in <code>bash</code> in terminal and this script echoed OK. But why? Didn't I call yet another INTERACTIVE shell by typing bash in terminal, and not the other way around? Why did it execute the bash_env? I'm on linux mint maya.</p>