Die Unix-Shell oder kurz Shell (englisch für Hülle, Schale) bezeichnet die traditionelle Benutzerschnittstelle unter Unix oder unixoiden Computer-Betriebssystemen. Der Benutzer kann in einer Eingabezeile Kommandos eintippen, die der Computer dann sogleich ausführt. Man spricht darum auch von einem Kommandozeileninterpreter.[1] Der Begriff Shell wurde in diesem Zusammenhang 1964/65 von Louis Pouzin geprägt und dessen Konzepte von Glenda Schroeder für Multics implementiert.
In der Regel hat der Benutzer unter Unix die Wahl zwischen verschiedenen Shells. Vom Sprachumfang her sind alle üblichen Unix-Shells als vollwertige Skriptsprachen zur Programmierung und zur Automatisierung von Aufgaben verwendbar; die Abgrenzung zu reinen Skriptsprachen (z. B. Perl, awk) besteht darin, dass Shells besondere Mittel für den interaktiven Dialog mit dem Anwender bereitstellen, die vom Ausgeben eines Prompts im einfachsten Fall bis hin zur Möglichkeit des Editierens der eingegebenen Befehle oder zur Jobsteuerung reichen.
Im Gegensatz zu den Kommandozeileninterpretern manch anderer Betriebssysteme (z. B. VMS) sind Unix-Shells gewöhnliche Anwenderprogramme ohne besondere Privilegien.