Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы. Ч.1.pdf
Скачиваний:
40
Добавлен:
05.02.2023
Размер:
1.58 Mб
Скачать

177

В expr можно применять следующие арифметические операторы: +, -, *, /, % (остаток). Все операнды и операции должны быть разделены пробелами.

Заметим, что знак умножения следует заключать в кавычки (одинарные или двойные), например: '*', так как символ * имеет в Shell специальный смысл.

Более сложный пример expr в процедуре (фрагмент): num = 'wc -l < $1'

tot = 100 count = $num

avint = 'expr $tot / $num' avdec = 'expr $tot % $num' while test $count -gt 0

do ...

Здесь wc -l осуществляет подсчет числа строк в файле, а далее это число используется в выражениях.

Отладка процедур Shell

Имеютсятрисредства, позволяющие вестиотладку процедур.

1.Размещение в теле процедуры команд echo для выдачи сообщений, являющихся трассой выполнения процедуры.

2.Опция -v (verbose = многословный) в команде Shell приводит к печати команды на экране перед ее выполнением.

3.Опция -x (execute) в команде Shell приводит к печати команды на экране по мере ее выполнения с заменой всех переменных их значениями; это наиболее мощное средство.

Вопросы для самопроверки

1.На какие два класса по способу ввода информации можно разделить интерфейсы операционных систем?

2.Как называется интерфейс администрирования системы

вWindows Server 2008?

3.Какими способами можно запустить интерфейс командной строки в ОС Windows?

4.Назовите группы, на которые можно разделить внутренние команды ОС Windows, используемые в интерфейсе командной строки?

178

5.Для чего используют метасимволы в интерфейсе командной строки?

6.Для чего используют перенаправление потоков ввода/вывода в интерфейсе командной строки? Какими средствами это реализуется в ОС Windows и в ОС Unix?

7.Какие атрибуты имеют файлы в ОС Windows и в ОС

Unix?

8.В чем заключается отличие разработки командных файлов в ОС Windows от разработки в ОС Unix?

9.Какими правилами следует руководствоваться при разработке командных файлов?

10.В чем отличие у процессов переднего и заднего плана в ОС Unix?