Okay, well I'll keep calling it a command line to avoid snobs like you. Thanks for the tip!
A shell is a software construct that implements a level of abstraction over a lower system.
A command line is a particular type of shell, gui's are often implemented as a shell too.