rc (оболочка Unix)
Эта статья нуждается в дополнительных цитатах для проверки . ( март 2014 г. ) |
Парадигма | императив , трубопровод |
---|---|
Разработано | Том Дафф |
Разработчик | Белл Лаборатории |
Впервые появился | 1989 год |
Дисциплина набора текста | слабый |
ТЫ | Кроссплатформенность ( версия 10 Unix , план 9 , план 9 из пользовательского пространства ) |
Веб-сайт | док |
Диалекты | |
дом Байрона | |
Под влиянием | |
Оболочка Борна | |
Под влиянием | |
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
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д Дафф, Том (1990). " "Rc — План 9 "Панцирь" " . кот-v . Проверено 26 января 2024 г.
- ^ Фишер, Манфред М. (13 декабря 1996 г.). Пространственные аналитические перспективы ГИС . ЦРК Пресс. ISBN 9780748403400 .
- ^ «Страница руководства Ubuntu: es — расширяемая оболочка» . Manpages.ubuntu.com. 05.03.1992. Архивировано из оригинала 24 февраля 2014 г. Проверено 24 августа 2012 г.
- ^ «Расширяемая оболочка» . ФОЛДОК . Проверено 24 августа 2012 г.
- ^ «Оболочки, доступные для Linux» . ЛЮВ . Проверено 24 августа 2012 г.
- ^ Джонс, Тим. «Эволюция оболочек в Linux» . ИБМ . Проверено 14 марта 2014 г.
- ^ «Журнал Linux 12: Что такое GNU» . Архивировано из оригинала 17 января 2013 г. Проверено 24 августа 2012 г.
- ^ Es: оболочка с функциями высшего порядка, разработанная Байроном Ракитцисом, NetApp, Inc , и Полом Хааром, Adobe Systems Incorporated ; Архивировано на Archive.Org .
- ^ [1]
- ^ «Различия оболочки UNIX» . Faqs.org . Проверено 24 августа 2012 г.
- ^ Хаггерти, Джеймс (13 марта 2020 г.). «wryun/es-shell: оболочка с функциями высшего порядка» . Гитхаб .
Внешние ссылки
[ редактировать ]- - Страница руководства Plan 9.
- Plan 9 из пользовательского пространства — включает rc и другие инструменты Plan 9 для Linux, Mac OS X и других Unix-подобных систем.
- Переписывание Байрона Ракитциса для Unix ( статья заархивировано 5 октября 2013 г. на Wayback Machine )
- es Официальный сайт