Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

RC сеанс

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] ( ветвление конвейера )

Ссылки [ править ]

  1. ^ a b c d Дафф, Том. RC - Оболочка Plan 9 . План 9, 4-е издание .( PDF ; версия 1990 г. )
  2. Fischer, Manfred M. (13 декабря 1996 г.). Пространственные аналитические перспективы в ГИС . ISBN 9780748403400.
  3. ^ "Ubuntu Manpage: es - расширяемая оболочка" . Manpages.ubuntu.com. 1992-03-05. Архивировано из оригинала на 2014-02-24 . Проверено 24 августа 2012 .
  4. ^ «Расширяемая оболочка» . FOLDOC . Проверено 24 августа 2012 .
  5. ^ «Оболочки, доступные для Linux» . LUV . Проверено 24 августа 2012 .
  6. ^ Джонс, Тим. «Эволюция оболочек в Linux» . IBM . Проверено 14 марта 2014 .
  7. ^ "Linux Journal 12: Что такое GNU" . Архивировано из оригинала на 2013-01-17 . Проверено 24 августа 2012 .
  8. ^ Es: оболочка с функциями высшего порядка от Байрона Ракитциса, NetApp, Inc , и Пола Хаара, Adobe Systems Incorporated ; Архивировано на Archive.Org .
  9. ^ [1]
  10. ^ "Различия в оболочке UNIX" . Faqs.org . Проверено 24 августа 2012 .
  11. Хаггерти, Джеймс (13 марта 2020 г.). "wryun / es-shell: оболочка с функциями высшего порядка" . GitHub .

Внешние ссылки [ править ]

  • rc(1) - Страница руководства Plan 9.
  • Plan 9 из пользовательского пространства - включает rc и другие инструменты Plan 9 для Linux, Mac OS X и других Unix-подобных систем.
  • Переписывание Байрона Ракитциса для Unix ( статья )
  • es Официальный сайт