Эта статья требует дополнительных ссылок для проверки . ( март 2014 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Парадигма | императив , конвейер |
---|---|
Разработано | Том Дафф |
Разработчик | Bell Labs |
Впервые появился | 1989 |
Печатная дисциплина | слабый |
Операционные системы | Кроссплатформенность ( версия 10 Unix , Plan 9 , Plan 9 из пользовательского пространства ) |
Интернет сайт | doc |
Диалекты | |
Байрона rc | |
Под влиянием | |
Оболочка Борна | |
Под влиянием | |
es , Оболочка Инферно . |
rc (от « run commands ») - интерпретатор командной строки для Unix Версии 10 и Plan 9 из операционных систем Bell Labs . Он похож на оболочку Bourne , но ее синтаксис несколько проще. Его создал Том Дафф , более известный своей необычной конструкцией языка программирования C (« устройство Даффа »). [1]
Перенос исходного rc на Unix является частью Plan 9 из пользовательского пространства . Переписанный Байроном Ракитцисом rc для Unix-подобных операционных систем также доступен, но включает некоторые несовместимые изменения.
Rc использует структуры управления, подобные C, вместо ALGOL -подобных структур исходной оболочки Bourne , за исключением того, что if not
вместо них используется конструкция else
, а for
для перебора списков используется цикл, подобный Bourne . В rc все переменные представляют собой списки строк, что устраняет необходимость в конструкциях типа " $@
". При раскрытии переменные не разделяются заново. Язык описан в статье Даффа. [1]
Влияния [ править ]
es [ править ]
es (от «расширяемой оболочки») - это интерпретатор командной строки с открытым исходным кодом , разработанный Ракитцисом и Полом Хааром [2], который использует синтаксис языка сценариев, на который влияет оболочка rc. [3] [4] Первоначально он был основан на коде из клона Байрона Ракитциса rc для Unix. [5] [6]
Extensible оболочка предназначена для обеспечения полностью функционального языка программирования в качестве оболочки Unix . [7] Это достигается за счет введения в фигурных скобках «фрагментов программы» в качестве нового типа данных, лексической области видимости с помощью let и некоторых других незначительных улучшений. Основная часть разработки es произошла в начале 1990-х, после того, как оболочка была представлена на конференции USENIX зимой 1993 года в Сан-Диего , [8] Официальные выпуски, похоже, прекратились после 0.9-beta-1 в 1997 году [9], а es отсутствует. функции по сравнению с более популярными оболочками, такими как zsh и bash . [10] Афорк общественного достоянияes
активен с 2019 г. [11]
Примеры [ править ]
Сценарий оболочки Bourne:
если [ " $ 1 " = "привет" ] ; затем echo hello, world else case " $ 2 " в 1 ) echo $ # 'hey' "jude's" $ 3 ;; 2 ) эхо ` дата ` : $ * :: " $ @ " : ;; * ) echo, почему не 1 > & 2 esac для i в abc ; делать эхо $ я сделал фи
выражается в rc как:
если (~ $ 1 привет) эхо привет, миресли не { switch ($ 2) { Случай 1 echo $ # * 'эй' 'jude''s' ^ $ 3 случай 2 echo `{date}: $" *:: $ *: дело * эхо, почему бы и нет> [1 = 2] } для (я в abc) эхо $ я}
Rc также поддерживает более динамичный трубопровод:
a | [2] b # передавать только стандартную ошибку от a к b - эквивалент '3> & 2 2> & 1> & 3 | b 'в оболочке Bourne [1] ( Расширенное перенаправление ввода / вывода ) a <> b # открывает файл b как стандартный ввод и стандартный вывод a <{b} <{c} # становится {стандартным выводом b} {стандартным вывод c}. Более известное как « замещение процесса » [1] ( ветвление конвейера )
Ссылки [ править ]
- ^ a b c d Дафф, Том. RC - Оболочка Plan 9 . План 9, 4-е издание .( PDF ; версия 1990 г. )
- ↑ Fischer, Manfred M. (13 декабря 1996 г.). Пространственные аналитические перспективы в ГИС . ISBN 9780748403400.
- ^ "Ubuntu Manpage: es - расширяемая оболочка" . Manpages.ubuntu.com. 1992-03-05. Архивировано из оригинала на 2014-02-24 . Проверено 24 августа 2012 .
- ^ «Расширяемая оболочка» . FOLDOC . Проверено 24 августа 2012 .
- ^ «Оболочки, доступные для Linux» . LUV . Проверено 24 августа 2012 .
- ^ Джонс, Тим. «Эволюция оболочек в Linux» . IBM . Проверено 14 марта 2014 .
- ^ "Linux Journal 12: Что такое GNU" . Архивировано из оригинала на 2013-01-17 . Проверено 24 августа 2012 .
- ^ Es: оболочка с функциями высшего порядка от Байрона Ракитциса, NetApp, Inc , и Пола Хаара, Adobe Systems Incorporated ; Архивировано на Archive.Org .
- ^ [1]
- ^ "Различия в оболочке UNIX" . Faqs.org . Проверено 24 августа 2012 .
- ↑ Хаггерти, Джеймс (13 марта 2020 г.). "wryun / es-shell: оболочка с функциями высшего порядка" . GitHub .
Внешние ссылки [ править ]
- - Страница руководства Plan 9.
- Plan 9 из пользовательского пространства - включает rc и другие инструменты Plan 9 для Linux, Mac OS X и других Unix-подобных систем.
- Переписывание Байрона Ракитциса для Unix ( статья )
- es Официальный сайт