Michael Schröpl: Was sind Programmiersprachen?

Beitrag lesen

Nun, normalerweise ist eine heutige Shell aus einem CLI ( command line interpreter ) hervorgegangen. D.h. was eine Shell macht, ist einfach Parameter an externe ( auch interne ) Kommandos, sprich Programme, zu übergeben. Die Behandlung dieser Parameter ist tatsächlich äusserst komplex ( reguläre Ausdrücke, Variablen, bedingte Anweisungen etc. ),
aber eine Shell ist keine Programmiersprache ( meine Def. kennst du ja... ).

Was ich meinte, ist: "Shell" unterscheidet sich in keinem m. E. wesentlichen Punkt von Perl oder Basic oder anderen Interpretersprachen.
Eine Shell macht Syntaxanalyse (wie Perl), sie hat Variablen und Kontrollstrukturen (wie Perl), sie führt einige Sachen selbst aus (wie Perl; die Korn-Shell interpretiert "if" selbst, das kannst Du mit "whence if" überprüfen) und überläßt andere Sachen dem Betriebssystem (wie Perl über backticks). (Überhaupt ist ja Perl als Obermenge von shell, C und awk entstanden.)