Edit: In the linked duplicate question, it's answered that shell = command line interepreter. Tanenbaum says it's not so. Hence the linked question doesn't solve my problem: why does Tanenbaum say so and what kind of "shell" does he imply?
Reading Andrew S. Tanenbaum's "modern Operating Systems", 3rd ed., on page 10, under 1.2.2, I see the following:
These primitive control cards were the forerunners of the modern shells and command-line interpreters.
I've been using Linux daily for years, and am familiar with the concept of a command line interpreter, i.e. Bash, Sh, Tcsh, Zsh, Csh. Now, I've always been sure that "shell" equals "Bash" equals "command line interpreter". Also, I understand that the commands I enter are ran and the results returned to me by a concrete executable, that belongs to the list above. However, Tanenbaum lists these as separate categories.
Thus, the question: what exactly is a "shell", how is it different from a "command line interpreter", or maybe it's only in the context of the book that these two concepts differ? Maybe it's the GUI shell that's being mentioned here?