Элементы программирования оболочки

 

В предыдущих главах мы рассматривали язык оболочки с точки зрения, в основном, непосредственного исполнения вводимых команд. Теперь взглянем на него под другим углом: как на универсальный язык программирования , а на оболочку – как на интерпретирующую реализацию этого языка.

От универсального языка программирования ожидаются: средства описания структур данных (переменные), средства вычисления выражений и присвоения их значений переменным, средства организации последовательного, условного и циклического исполнения, средства декомпозиции программы на подпрограммы.

Все эти средства присутствуют в стандартном языке оболочки[61]. Его особенностью явяется возможность использовать команды (стандартные и нестандартные) ОС в качестве своего рода «вызовов функций» (хотя и определение, и вызов функции также присутствуют в языке как отдельный механизм).

При попытках реализовать «простые программы из учебников» на языке оболочки результат часто оказывается не самым изящным. Однако этот язык очень хорошо приспособлен для решения административных и системных задач. В большинстве открытых ОС значительная часть самой системы написана на этом языке.

Пределы главы позволяют лишь бегло представить механизмы языка оболочки, проиллюстрировав их несколькими примерами.