Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба 3-4 (Методы) / ОС_лаб_4.doc
Скачиваний:
36
Добавлен:
04.04.2013
Размер:
102.4 Кб
Скачать

Московский институт электроники и математики

(технический университет)

Лабораторный практикум

по курсу «Операционные системы»

Лабораторная работа №4

«Разработка командных процедур в ос Unix»

Методические указания

для студентов специальности 220100 «Вычислительные машины, комплексы, системы и сети»

Факультет автоматики и

вычислительной техники

Кафедра «Вычислительная техника»

Москва 2003г.

УДК 681.3

Максимова О.С., Фомин С.С. Разработка командных процедур в ОС Unix. Методические указания по проведению лабораторной работы. – М.: МИЭМ, 2003. – 20с.

Приводятся сведения о командных интерпретаторах ОС Unix. Рассматриваются высокоуровневые конструкции командного языка (условный оператор, операторы циклов, оператор выбора) и примеры их использования в командных процедурах. Пособие позволяет получить навыки создания командных процедур практически в любой реализации ОС Unix.

Предназначено для студентов, обучающихся по направлению «Информатика и вычислительная техника» и слушателей курсов повышения квалификации.

Пособие носит практический характер и может быть использовано для индивидуального обучения.

© Московский институт электроники и математики, 2003.

1. Цель лабораторной работы

Цель лабораторной работы №4 – приобрести навыки разработки простейших командных процедур на командном языке ОС Unix.

2. Интерпретаторы команд ос Unix

В любой операционной системе существует командная оболочка (интерпретатор команд), которая анализирует введенные команды и их аргументы, проверяет синтаксис, допустимость тех или иных ключей и т.д. и запускает соответствующую программу, т.е. создает в Unixпроцесс и передает ему управление.

Помимо исполнения команд интерпретатор команд выполняет и другие важные работы:

  • генерацию имён файлов;

  • переназначение ввода и вывода;

  • конвейеризацию;

  • контроль среды окружения;

  • интерпретацию и выполнение командных процедур.

3. Основные реализации командных интерпретаторов

Имеются 4 основных реализации командных интерпретаторов для ОС Unix:

  • Bourne Shell (sh);

  • C-Shell (csh);

  • Korn Shell (ksh);

  • Bourne Again Shell (bash).

Основным интерпретатором команд принято считать интерпретатор (и соответственно командный язык) sh, который используется для записи командных процедур загрузкиUnix.

4. Аргументы командных процедур

Интерпретатор команд рассматривает командную строку следующим образом:

Командная строка состоит из «слов», разделенных пробелами. Первое слово интерпретируется как имя программы, остальные слова – это аргументы команды. Интерпретатор осуществляет поиск исполнимого файла (программы), имя которого совпадает с именем команды, вызывает его и передаёт ему все относящиеся к нему параметры.

Если исполнимый файл является командной процедурой (командным файлом), то интерпретатор будет просто читать файл и выполнять из него команды.

В командных процедурах аргументы кодируются особым образом:

  • первому аргументу соответствует переменная $1;

  • второму - $2 и т.д. до $9.

Эти переменные называются позиционнымит.к. их номера соответствуют номерам позиций аргументов. Обратите внимание на то, что всего существует 9 переменных, хранящих позиционные переменные.

В общем случае алгоритм обработки интерпретатором команд строк командной процедуры следующий:

  • интерпретатор читает очередную строку;

  • выявляет метасимволы и переменные;

  • производит необходимые замены и подстановки;

  • после этого интерпретатор вызывает исполняемый файл, имя которого совпадает с именем команды, и передает ему строку параметров.

Соседние файлы в папке Лаба 3-4 (Методы)