Введение
Bourne shell – обратно совместимая оболочка Unix, созданная Дэвидом Корном. KornShell (ksh) – это Unix-оболочка, разработанная Дэвидом Корном в Bell Labs в начале 1980-х годов и представленная на USENIX 14 июля 1983 года. Другими ранними разработчиками были Майк Вич и Пэт Салливан из Bell Labs, которые написали код режимов редактирования строк в стиле Emacs и vi соответственно. KornShell обратно совместима с оболочкой Bourne и включает в себя множество функций оболочки C, вдохновленных пожеланиями пользователей Bell Labs.
KornShell (ksh) is a Unix shell which was developed by David Korn at Bell Labs in the early 1980s and announced at USENIX on July 14, 1983. Other early contributors were Bell Labs developers Mike Veach and Pat Sullivan, who wrote the Emacs and vi style line editing modes' code, respectively. KornShell is backward compatible with the Bourne shell and includes many features of the C shell, inspired by the requests of Bell Labs users.
История
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 году, разделилась на различные группы и не рассматривается ниже.