An operating system shell is a user interface that enables the user to interact with and access the services offered by the operating system. The user gives commands to the operating system through its shell.
In simple words - a shell is a program that accepts the input from users and excutes program on their behalf by creating a new process, and whatever the response from that particular program - which could be input, output or error - it shows back it the the user.