Possible Duplicate:
How to check if a shell is login/interactive/batch
And what's the benefits of non-login shell over login shell?
Possible Duplicate:
How to check if a shell is login/interactive/batch
And what's the benefits of non-login shell over login shell?
You can tell whether you're in a login shell using shopt:
dennis@lightning:~$ shopt login_shell
login_shell off
As for the benefits: login shells generally do a bit more initialization (such as setting environment variables and cd'ing into $HOME) which aren't necessary for other shells. On the other hand, by default any shell launched from the gui is not a login shell, so most people configure their shell initscripts (~/.bashrc etc) to do all initialization for both login and non-login shells.
bash the configuration is often done in ~/.bashrc which is sourced in ~/.bash_profile to make life easier.
– peterph
Nov 25 '12 at 18:10