Введение

Bourne shell – обратно совместимая оболочка Unix, созданная Дэвидом Корном. KornShell (ksh) – это Unix-оболочка, разработанная Дэвидом Корном в Bell Labs в начале 1980-х годов и представленная на USENIX 14 июля 1983 года. Другими ранними разработчиками были Майк Вич и Пэт Салливан из Bell Labs, которые написали код режимов редактирования строк в стиле Emacs и vi соответственно. KornShell обратно совместима с оболочкой Bourne и включает в себя множество функций оболочки C, вдохновленных пожеланиями пользователей Bell Labs.

История

KornShell изначально был проприетарным программным обеспечением. В 2000 году исходный код был выпущен под лицензией, специфичной для AT&T, но с выпуска ksh93q в начале 2005 года он стал распространяться под Eclipse Public License. Как "Desktop KornShell", он распространяется в составе Common Desktop Environment. Эта версия также предоставляет отображение уровней оболочки для виджетов Motif и была задумана как конкурент Tcl/Tk. Оригинальный KornShell стал оболочкой по умолчанию в AIX версии 4, а ksh93 был доступен отдельно. Судьба дистрибутива ksh93 стала менее стабильной после того, как авторы покинули AT&T около 2012 года, находясь на стабильной версии ksh93u+. Основные авторы продолжали работу над бета-версией ksh93v примерно до 2014 года. В 2017 году эту работу в основном подхватила Red Hat (по запросам клиентов), что привело к первому выпуску ksh2020 осенью 2019 года. Этот первый выпуск (хотя и устранял некоторые предыдущие проблемы со стабильностью) привнес некоторые незначительные ошибки и проблемы совместимости. В марте 2020 года AT&T решила откатить изменения, внесенные сообществом, сохранить их в отдельной ветке и перезапустить разработку с ksh93u+, поскольку эти изменения были слишком масштабными и слишком ориентированными на ksh для включения в проект, находящийся в режиме обслуживания. Разработка исправлений ошибок продолжается в ветке ksh93u+m, основанной на последнем стабильном выпуске AT&T (ksh93u+ 2012 08 01). ksh2020 был выпущен как "основной релиз по ряду причин", таких как удаление поддержки EBCDIC, отказ от поддержки бинарных плагинов, написанных для ksh93u+, и удаление некоторых некорректно работающих математических функций, но AT&T никогда не поддерживал и не оказывал поддержку этому выпуску (даже в день его первоначального релиза).

Основные вклады в основную программу

Для целей представленных ниже списков, основная ветка разработки программного обеспечения KSH определяется как исходная программа, начиная с июля 1983 года и вплоть до выпуска KSH2020 в конце 2019 года. Дальнейшая разработка последующих версий (ветвей) KSH, начавшаяся в 2020 году, разделилась на различные группы и не рассматривается ниже.