"If you've ever tried to change system-wide bash settings, you
know there are three major ways of invoking bash, all of which
behave differently when reading in settings files.
"Interactive login shell (e.g., when logging in from the console
or via ssh)
Interactive non-login shell (e.g., when you run bash at a terminal
Non-interactive shell (e.g., to run a shell script)
"An interactive shell has both input and output connected to a
tty (usually the user's terminal). If you type echo $- and the
value contains i, the shell is interactive. (The other letters are
options passed in at invocation, or via the set builtin.) A login
shell is started with the --loginoption. This is usually handled by
whatever program you're using for login."
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.