How to set various PATH and Environments for Shell (bash) and Emacs

What is the difference between shell, bash, terminal? Shell is a command-line interpreter and there are various types of shell like Bourne shell (sh) and C shell (csh). Bash (Bourne-Again shell) is written as part of GNU Project to provide a superset of Bourne Shell functionality. Terminal used to be a physical hardware device to access a computer system when computer is bulky and expensive. The Terminal app on Mac OS X is called a terminal emulator actually, whose function is to emulate a terminal as its name suggested.