From mboxrd@z Thu Jan 1 00:00:00 1970 From: dds@aueb.gr (Diomidis Spinellis) Date: Thu, 14 Jul 2016 16:18:43 +0300 Subject: [TUHS] Shell control through external commands Message-ID: <4fcf31ef-50af-10b5-0c34-ad647ed10a4e@aueb.gr> I remember hearing that originally the Unix shell had control structures (e.g. if, while, case) implemented through external commands. However, I can't see this reflected in the source code. The 7th Edition Bourne shell has these commands built-in (usr/src/cmd/sh/cmd.c), while the 6th Edition (usr/source/s2/sh.c) seems to lack them completely. The only external command I found was glob, which performed wildcard expansion. Am I missing something? Was this implemented in a version that was never released? If so, does anyone know how this implementation worked? (Nested commands might require holding some sort of globally accessible stack.)