rc (от « запускать команды ») - это интерпретатор командной строки для Unix Версии 10 и Plan 9 из операционных систем Bell Labs . Он похож на оболочку Bourne , но ее синтаксис несколько проще. Его создал Том Дафф , более известный своей необычной конструкцией языка программирования C (« устройство Даффа »). [1]
Парадигма | императив , конвейер |
---|---|
Разработано | Том Дафф |
Разработчик | Bell Labs |
Впервые появился | 1989 |
Печатная дисциплина | слабый |
Операционные системы | Кроссплатформенность ( Unix версии 10 , Plan 9 , Plan 9 из пользовательского пространства ) |
Веб-сайт | doc |
Диалекты | |
Байрона rc | |
Под влиянием | |
Оболочка Борна | |
Под влиянием | |
es , Оболочка Инферно . |
Перенос исходного 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 г. )
- ^ Фишер, Манфред М. (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 ( статья, заархивированная 05.10.2013 на Wayback Machine )
- es Официальный сайт