Die Shell dient nicht nur zum Starten von Kommandos; vielmehr soll sie den Benutzer führen und ihm eine möglichst effiziente Umgebung zur Verfügung stellen. Im Rahmen dieser Umgebung ist das Verwalten von Einstellungen und die automatische Abarbeitung repetitiver Aufgaben ein Muss, und dies führt zwangsläufig zur Programmierung.