Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_лаб_2_Unix_proc_2014.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
144.9 Кб
Скачать

Правительство Российской Федерации

Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики"

 

 

 Московский институт электроники и математики Национального исследовательского университета «Высшая школа экономики»

 

Факультет информационных технологий и вычислительной техники

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

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

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

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

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

для направления 230100.62 «Информатика и вычислительная техника» подготовки бакалавра

Методическое пособие

Кафедра «Информационно-коммуникационные технологии»

Москва 2014г.

УДК 681.3

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

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

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

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

© МИЭМ НИУ ВШЭ, 2014

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

Цель лабораторной работы – приобрести навыки разработки простейших командных процедур на командном языке ОС 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 переменных, хранящих позиционные переменные.

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

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

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

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

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