
- •Содержание
- •Введение
- •1.Основные положения Shell.
- •2.Команды и создание командных оболочек.
- •2.1.Команды.
- •2.2. Как Shell находит команды.
- •3.Пример работы интерпретатора Shell.
- •4.Специальные команды Shell.
- •5.Правила программирования в Shell.
- •6.Выполнение shell-программ
- •6.1. Запуск shell'а
- •6.2. Выполнение
- •6.3. Окружение
- •6.4. Сигналы
- •6.5. Замечания
- •7.Число генерируемых процессов.
- •8.Метасимволы, синтекс и зарезервированные слова
- •8.1.Синтаксис Shell
- •8.2. Синтаксические
- •Список литературы
Содержание
Введение……………………………………………………………………..…… 3
1.Основные положения Shell………………………………...........……. 4
2.Команды и создание командных оболочек
2.1.Команды…………………………………………………………………….…. 5
2.2.Как Shell находит команды………………………………….……… 9
3.Пример работы интерпретатора Shell………………………….…..…. 10
4.Специальные команды Shell………………………………………………... 11
5.Правила программирования в Shell…………………….………………. 14
6.Выполнение shell-программ
6.1. Запуск shell'а………………………………………………….…………… 15
6.2. Выполнение………………………………………………………….……. 15
6.3. Окружение……………………………………………….………………... 16
6.4. Сигналы……………………………………………………………....….. 16
6.5. Замечания………………………………………………………….………. 17
7.Число генерируемых процессов………………………………….…..…. 18
8.Метасимволы, синтекс и зарезервированные слова
8.1.Синтаксис Shell…………………………………………………….……… 20
8.2. Синтаксические………………………………………………….……… 22
8.3. Шаблоны……………………………………………………………….…… 22
8.4. Подстановки………………………………………………………...… 22
8.5. Квотирование…………………………………………………………. 23
8.6. Зарезервированные слова…………………………………….…. 23
Заключение……………………………………………………………………….…… 24
Список литературы…………………………………………….…………………. 25
Введение
Когда пользователи входят в систему UNIX, они общаются с одним из интерпретаторов команд. В этой главе изучается интерпретатор команд Shell. Этот интерпретатор является программой UNIX, которая поддерживает обладающий большими возможностями командный язык. Каждый вызов этого интерпретатора называется оболочкой Shell; каждая оболочка выполняет единственную функцию - считывает со стандартного устройства ввода команду и выполняет ее.
Поскольку Shell дает пользователю возможность общаться с операционной системой на языке высокого уровня, UNIX может выполнять задачи, недоступные менее сложным операционным системам. Команды, которые обычно должны писаться на традиционных языках программирования, здесь могут быть записаны в нескольких строчках процедуры Shell. В других операционных системах команды выполняются в прямой последовательности.
В UNIX благодаря Shell команды могут:
-объединяться для образования новых команд;
- передавать позиционные параметры;
-добавляться или переименоваться пользователем;
-выполняться внутри циклов или по определенному условию;
-создаваться для локального выполнения без риска вступления в конфликт с командами других пользователей;
-выполняться в фоновом режиме.
Более того, команды могут перенаправлять ввод исходных данных для команды от одного источника к другому и перенаправлять вывод в файл, на терминал, принтер или другой команде. Это обеспечивает необходимую гибкость при выполнении конкретных задач.
1.Основные положения Shell.
Shell – первая программа с которой по существу начинается работа пользователя. После ввода логина и пароля пользователем запускается программа, указанная в последнем поле записи пользователя. Этой программой является командный интерпретатор Shell. Shell выполняет соответствующий командный файл инициализации, и выдает на терминал пользователя приглашение. С этого момента можно начинать вводить команды. Shell считывает ввод пользователя, производит синтаксический анализ введённой строки и выполняет действие, предписанное пользователем или сообщает об ошибке. По окончании работы пользователь вводит команду exit и выходит из системы. Командный интерпретатор является удобным средством программирования.
Любой из стандартных командных интерпретаторов имеет развитый язык программирования. Следует однако иметь в ввиду, что shell является интерпретатором, он последовательно считывает команды из скрипта и выполняет их, как если бы они последовательно вводились пользователем с терминала. При таком характере работы трудно ожидать большой производительности от скриптов, однако их эффективность определяется простотой и наглядностью. Если же производительность программы играет главную роль, то самым эффективным средством остаётся язык Си.
Shell сам по себе (т.е. программа, которая считывает ваши команды при входе в систему или которая вызывается по команде sh) является программой, написанной на языке Си; она не является частью операционной системы, а может рассматриваться как обычная пользовательская программа.