There are several different ways bash can run. It can run as a login shell , which is how it runs when you first login. The login shell should be the first shell you see.
Another way bash can run is as an interactive shell . This is any shell which presents a prompt to a human and waits for input. A login shell is also an interactive shell. A way you can get a non-login interactive shell is, say, a shell inside xterm . Any shell that was created by some other way besides logging in is a non-login shell.
Finally, there are non-interactive shells . These shells are used for executing a file of commands, much like MS-DOS 's batch files--the files that end in .BAT. These shell scripts function like mini-programs. While they are usually much slower than a regular compiled program, it is often true that they're easier to write.
Depending on the type of shell, different files will be used at shell startup: