Für eine genauere Beschreibung der POSIX-sh Syntax siehe SpracheSh.
Auf Unix Systemen ermöglicht eine Reihe von mehr oder weniger standardisierten (POSIX) Tools (z.B. awk, sed, grep und ähnliche) auch die Programmierung etwas aufwendigerer Anwendungen.
Es werden im großen und ganzen zwei Familien unterschieden: die POSIX/sh-kompatiblen und die C-Shell kompatiblen. Die durch das OpenSource Betriebssystem Linux populärsten Vertreter sind jeweils die bash bzw die tcsh. Sie unterscheiden sich sowohl in der Syntax als auch im Funktionsumfang. Unter Linux wird die bash zur Programmierung bevorzugt, da die sh kompatible Syntax eindeutiger und mächtiger ist als die Sprache der C-Shell kompatiblen.
Windows stellt mit der "Eingabeaufforderung" eine DOS-ähnliche Shell bereit (Siehe DosProgrammierung). Die eigentliche Shell ist aber der Explorer. Nicht das, was man als Unix-Mensch unter einer Shell verstehen würde. Im Plattform-SDK findet man einige Hilfen, wie man die Shell über C, .NET oder den Scripting-Host ansprechen kann. Die Informationen kann man auch verwenden, wenn man mit nicht in Redmont entwickelten Programmiersprachen arbeitet. Jüngsten Gerüchten zufolge tut sich bei Windows was in Bezug auf die Shell, siehe http://weblogs.asp.net/jnadal/archive/2003/10/29/34413.aspx.