Jump to content

РУНКОМ

RUNCOM — это CTSS . процессор макрокоманд (скриптов) [1]

Луи Пузен создал RUNCOM для CTSS примерно в 1963 году. [2] В 1965 году он опубликовал статью с описанием конструкции оболочки Multics , которая включает краткое описание RUNCOM. [3] за ним последовал второй документ, который он выпустил пять дней спустя, описывающий дизайн RUNCOM, в котором были добавлены команды для управления потоком управления , условным ветвлением и циклами. [4]

В контексте Unix-подобных систем термин rc означает фразу « команды запуска ». Он используется для любого файла, содержащего информацию о запуске команды.

От Брайана Кернигана и Денниса Ритчи : [5]

Была возможность выполнять несколько команд, хранящихся в файле; он назывался runcom, что означает «команды запуска», а файл стал называться «runcom». rc в Unix — это реликт этого использования.

Том Ван Флек , инженер Multics , также вспоминает о расширении rc: «Идея сделать оболочку обработки команд обычной подчиненной программой пришла из дизайна Multics и предшествующей программы CTSS Луи Пузена под названием RUNCOM, источник суффикса «.rc» в некоторых файлах конфигурации Unix». [6]

Это также происхождение названия Bell Labs Plan 9 из оболочки Тома Даффа , оболочки rc . Он называется «rc», потому что основная задача оболочки — «запускать команды».

Хотя это и не исторически точно, rc также можно расширить как «управление запуском», поскольку файл rc управляет запуском программы. Например, редактор Vim ищет и считывает содержимое файла .vimrc, чтобы определить его первоначальную конфигурацию. В книге «Искусство программирования для Unix» Эрик С. Рэймонд постоянно называет rc-файлы файлами «управления запуском».

Использование

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

Фон

RUNCOM не является оболочкой в ​​смысле оболочки UNIX. Когда пользователь вводит команды в CTSS, они передаются супервизору (ядру), а не какой-либо программе, похожей на оболочку UNIX. Пользователи не могут вводить команды в RUNCOM, он обрабатывает файлы на диске. Файлы CTSS имеют имя и второе имя, разделенные пробелами, например FOO BCD .

Описание РУНКОМ

Цепочки команд RUNCOM, также известные как макрокоманды (оба термина означают сценарии), представляют собой файлы со вторым именем RUNCOM или BCD, которые содержат ноль или более строк. Строки в сценарии представляют собой либо пустые строки, комментарии, обычные команды (такие, которые можно ввести в командной строке супервизора), либо псевдокоманду (команда, встроенная только в RUNCOM) CHAIN.

Комментарии начинаются с любого $ или * в качестве первого символа строки. Комментарии с использованием $ печатаются (включая $), когда RUNCOM запускается, пока те с * не печатаются вообще. Подмены параметров в комментариях не происходит.

Когда пользователь вызывает RUNCOM, его аргументы (параметры) сначала должны начинаться с имени файла, содержащего сценарий. Если пользователь вызывает RUNCOM без каких-либо аргументов, он печатает некоторые инструкции о том, как его использовать, и останавливается, возвращая пользователя в командную строку супервизора (системы). Остальные аргументы, если таковые имеются, представляют собой либо имена команд, значения, которые будут использоваться в качестве аргументов в сценарии, либо строки (NIL) или (END), включая круглые скобки.

В сценарии CHAIN ​​присваивает имена аргументам, которые использовались в командной строке при вызове RUNCOM, например, добавление CHAIN ​​LALA FAFA в сценарий и вызов RUNCOM XYZZY 3 приведет к замене LALA в сценарии на 3 при его использовании. во всех строках, следующих после CHAIN, в то время как FAFA останется FAFA, поскольку RUNCOM был вызван без указания чего-либо для него.

Если аргумент RUNCOM равен (NIL), позиционный параметр, обозначенный в сценарии как аргумент CHAIN, будет преобразован в ничто, например CHAIN ​​ALPHA BETA GAMMA в сочетании с RUNCOM A (NIL) B приведет к замене ALPHA на A и GAMMA на B, а BETA будет удалено из любой команды, следующей за CHAIN ​​в сценарии.

Если аргумент RUNCOM равен (END), соответствующий CHAIN аргумент будет рассматриваться как (NIL), и все последующие аргументы также будут обрабатываться как (NIL).

Любой параметр для CHAIN может использоваться в качестве имени команды в скрипте, т.е. может идти первым перед любыми аргументами. Примером может быть RUNCOM SCRIPT LISTF в сочетании с CHAIN CMD за которым следует CMD в начале следующей строки. CMD будет заменен на LISTF который будет перечислять файлы в каталоге (например, Unix ls команда).

После завершения замен RUNCOM отправляет команды в подпрограмму библиотеки SCHAIN, которая доступна и другим программам. [1]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Грисман, Пенсильвания, изд. (1969). Совместимая система разделения времени. Руководство программиста, 2-е изд . Бостон: MIT Press. п. 525.
  2. ^ Пузен, Луи (25 ноября 2000 г.). «Происхождение ракушки» . Мультицианцы . Проверено 31 июля 2017 г.
  3. ^ Пузен, Луи (2 апреля 1965 г.). SHELL: глобальный инструмент для вызова и объединения процедур в системе (PDF) (отчет). Проект MAC Массачусетского технологического института. МДН-4 . Проверено 9 апреля 2022 г.
  4. ^ Пузен, Луи (7 апреля 1965 г.). RUNCOM - Процессор макропроцедур для системы 636 (PDF) (Отчет). Проект MAC Массачусетского технологического института. МДН-4 . Проверено 9 апреля 2022 г.
  5. ^ «Что в Unix означают некоторые непонятно названные команды?» . База знаний ИТ . Университет Индианы . Проверено 20 апреля 2009 г.
  6. ^ «Юникс и мультики» . Проверено 20 апреля 2009 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b68baeccd8a0dcf415227ab0673ce6f7__1715816640
URL1:https://arc.ask3.ru/arc/aa/b6/f7/b68baeccd8a0dcf415227ab0673ce6f7.html
Заголовок, (Title) документа по адресу, URL1:
RUNCOM - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)