Possible Duplicate:
Difference between Login Shell and Non-Login Shell?
I have been looking at /etc/profile
and /etc/bash.bashrc
to see how they are run,
and notice that some are executed by non-login shells,
some work with interactive shells, etc.
What are the differences in this type of shells, i.e., interactive & non-interactive, login & non-login, etc.?
The question may be pretty basic, but it seems I need to ask what a shell is, first and foremost. What is a shell, what is its relevance, how do you use it, and why does it exist to start with?
Update: To make the intent of the question better understood, what I need to understand besides the definitions, are the use cases for one type of shell or the other. It is the use cases that help understanding, not just dictionary definitions.