Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 1-8 / ОС_07.doc
Скачиваний:
93
Добавлен:
04.04.2013
Размер:
114.69 Кб
Скачать

4.17 Встроенные команды интерпретатора sh

Как правило, для выполнения каждой команды sh порождает отдельный процесс. Существует некоторый набор команд, встроенные в интерпретатор, которые выполняются в рамках текущего процесса. Перечислим некоторые их них:

break [n] - выход из внутреннего for или while циклов. Если указано n, то выход из n внутренних циклов;

continue [n] - перейти к следующей итерации внутреннего for или while цикла;

cd - сменить текущий каталог;

echo arg . . . - выводит аргументы в стандартный вывод;

exec [cmd [arg . . . ]] – интерпретатор выполняет команду, заданную аргументами cmd и arg, путем вызова соответствующего выполняемого файла. Интерпретатор не порождает нового процесса для выполнения команды cmd и возврат в интерпретатор невозможен.

export [arg . . . ] – переменные, указанные аргументами, будут включаться в среду всех вызываемых впоследствии команд;

fc - показывает или редактирует и повторно выполняет ранее введенные команды (для этого используются различные ключи):

%fc –l – вывести список ранее выполненных команд

%fc –s 4 – выполнить команду, указанную в списке под номером 4;

%fc –s man – выполнить команду из списка, которая содержит в названии символы man;

pwd - вывести имя текущего каталога;

read [-p prompt] <список_переменных> - из стандартного ввода читается строка и её слова присваиваются элементам списка переменных;

readonly name – имя name не должно изменяться;

set – встроенная команда set может применяться в трех режимах:

  1. команда set без аргументов распечатывает значения всех переменных среды;

  2. команда set с аргументами применяется для задания значений позиционных параметров:

Пример_1:

%set a b c

%echo $1

a

%echo $1

b

Пример_2:

%set * # позиционные параметры получат значения имен файлов текущего каталога;

  1. команда set позволяет устанавливать режимы работы интерпретатора команд с помощью сдедующих ключей:

-e - если код завершения одной из команд ненулевой, то завершить выполнение интерпретатора;

-n - читать команды, но не выполнять их;

-a - все указанные после этого флага команды автоматически экспортируются;

-v - строки, читаемые интерпретатором, записываются в стандартный вывод;

-x - команды перед выполнением выводятся в стандартный вывод;

shift [n] – сдвинуть список позиционных параметров на n позиций;

unset name – для заданного имени удалить соответствующую переменную.

4.18. Системные файлы

В домашнем каталоге каждого пользователя при создании учетной карточки пользователя администратором системы создаются несколько файлов, у которых первым символом является точка '.'. Эти файлы (начальные командные файлы сессии пользователя) выполняются интерпретатором при входе пользователя в систему и выполняют формирование среды сеанса. Как правило, выполняются следующие установки:

  • задаются значения переменных PATH, LOGNAME, HOME;

  • устанавливается тип терминала (переменная) TERM;

  • выводятся сообщения системного администратора (cat /etc/motd).

Имена начальных командных файлов сессии пользователя различаются для различных интерпретаторов:

.profile – начальный командный файл интерпретатора sh;

.login - начальный командный файл интерпретатора csh;

.cshrc - командный файл установки параметров среды при вызове субинтерпретатора csh.

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

Соседние файлы в папке Лекции 1-8