Jump to content

rc (оболочка Unix)

(Перенаправлено из оболочки Rc )
RC
Парадигма императив , трубопровод
Разработано Том Дафф
Разработчик Белл Лаборатории
Впервые появился 1989 год ; 35 лет назад ( 1989 )
Дисциплина набора текста слабый
ТЫ Кроссплатформенность ( версия 10 Unix , план 9 , план 9 из пользовательского пространства )
Веб-сайт док .cat-v .org /план _9 /4-й _версия /документы /RC
Диалекты
дом Байрона
Под влиянием
Оболочка Борна
Под влиянием
es , оболочка Inferno .
Радиоуправляемая сессия

rc (от « команды запуска ») — интерпретатор командной строки для версий 10 Unix и Plan 9 из операционных систем Bell Labs . Он напоминает оболочку Bourne , но его синтаксис несколько проще. Его создал Том Дафф , более известный благодаря необычной конструкции языка программирования C устройство Даффа »). [1]

Порт оригинального rc на Unix является частью Plan 9 из User Space . переписанная версия rc для Unix-подобных Также доступна операционных систем, написанная Байроном Ракитцисом, но включающая некоторые несовместимые изменения.

Rc использует структуры управления, подобные C, вместо структур, подобных ALGOL исходной оболочки Bourne , за исключением того, что он использует if not построить вместо else, и имеет тип Борна for цикл для перебора списков. В rc все переменные представляют собой списки строк, что устраняет необходимость в конструкциях типа " $@«. Переменные не разбиваются повторно при расширении. Язык описан в статье Даффа. [1]

является

[ редактировать ]

es (от «расширяемая оболочка») — с открытым исходным кодом , интерпретатор командной строки разработанный Ракитцисом и Полом Хааром. [2] который использует синтаксис языка сценариев, на который влияет оболочка rc. [3] [4] для Unix , созданного Байроном Ракитцисом Первоначально он был основан на коде клона rc . [5] [6]

Расширяемая оболочка предназначена для предоставления полнофункционального языка программирования в качестве оболочки Unix . [7] Это достигается за счет введения «фрагментов программы» в фигурных скобках в качестве нового типа данных, лексической области видимости с помощью let и некоторых других незначительных улучшений. Основная часть разработки ES произошла в начале 1990-х годов, после того как оболочка была представлена ​​на конференции USENIX зимой 1993 года в Сан-Диего . [8] Официальные выпуски, похоже, прекратились после 0.9-beta-1 в 1997 году. [9] и es не имеет функций по сравнению с более популярными оболочками, такими как zsh и bash . [10] Общественное достояние es активен с 2019 года. [11]

Сценарий оболочки Bourne:

if [ "$1" = "hello" ]; then
    echo hello, world
else
    case "$2" in
    1) echo $# 'hey' "jude's"$3;;
    2) echo `date` :$*: :"$@":;;
    *) echo why not 1>&2
    esac
    for i in a b c; do
        echo $i
    done
fi

выражается в rc как:

if(~ $1 hello)
    echo hello, world
if not {
    switch($2) {
    case 1
        echo $#* 'hey' 'jude''s'^$3
    case 2
        echo `{date} :$"*: :$*:
    case *
        echo why not >[1=2]
    }
    for(i in a b c)
        echo $i
}

Rc также поддерживает более динамичную конвейерную обработку:

a |[2] b    # pipe only standard error of a to b — equivalent to '3>&2 2>&1 >&3 | b' in Bourne shell[1]: Advanced I/O Redirection 
a <>b       # opens file b as a's standard input and standard output
a <{b} <{c} # becomes a {standard output of b} {standard output of c},
            # better known as "process substitution"[1]: Pipeline Branching 
  1. ^ Перейти обратно: а б с д Дафф, Том (1990). " "Rc — План 9 "Панцирь" " . кот-v . Проверено 26 января 2024 г.
  2. ^ Фишер, Манфред М. (13 декабря 1996 г.). Пространственные аналитические перспективы ГИС . ЦРК Пресс. ISBN  9780748403400 .
  3. ^ «Страница руководства Ubuntu: es — расширяемая оболочка» . Manpages.ubuntu.com. 05.03.1992. Архивировано из оригинала 24 февраля 2014 г. Проверено 24 августа 2012 г.
  4. ^ «Расширяемая оболочка» . ФОЛДОК . Проверено 24 августа 2012 г.
  5. ^ «Оболочки, доступные для Linux» . ЛЮВ . Проверено 24 августа 2012 г.
  6. ^ Джонс, Тим. «Эволюция оболочек в Linux» . ИБМ . Проверено 14 марта 2014 г.
  7. ^ «Журнал Linux 12: Что такое GNU» . Архивировано из оригинала 17 января 2013 г. Проверено 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: оболочка с функциями высшего порядка» . Гитхаб .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 33a70c0100f6891cb7aea21b119c7a50__1716228840
URL1:https://arc.ask3.ru/arc/aa/33/50/33a70c0100f6891cb7aea21b119c7a50.html
Заголовок, (Title) документа по адресу, URL1:
rc (Unix shell) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)