Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерные сети / Комп сети 4_shell.ppt
Скачиваний:
28
Добавлен:
22.02.2016
Размер:
231.42 Кб
Скачать

Для приписывания дополнительных

символов к концу имени необходимо ставить фигурные скобки.

B = мета

echo ${B}символ2

На экран будет выведено:

метасимвол2

иначе будет выведено сообщение, что переменная $Bсимвол2 отсутствует.

101

Позиционные параметры

Для идентификации позиций элементов в командной строке shell устанавливает позиционные параметры.

Чтобы интерпретатор мог их различать друг от друга, они должны разделяться пробелами.

При этом интерпретатор нумерует их, начиная с нуля.

Первый элемент (имя команды) всегда обозначается $0, первый аргумент - $1, второй - $2 и так далее до $9.

102

shell использует 10 позиционных параметров и несколько специальных

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

Пример. grep cat enter $0 $1 $2

shell не может одновременно обрабатывать более 10 параметров (то есть за один раз).

103

Для этой цели применяется цикл и команда shift, чтобы перенести позиционные параметры влево, но имя

команды остается без изменения в позиции $0.

shift

После этого: $2 => $1 $3 => $2

$4 => $3 и так далее.

104

Присваивание значений позиционным параметрам

Для этого применяется команда set.

Она присваивает позиционному параметру значения цепочки символов аргументов.

set arg1 arg2 arg3

105

По этой команде интерпретатор shell присваивает первому позиционному параметру $1 значение arg1, второму - arg2 и т.д.

Значения этих аргументов можно проверить, выведя их значения на экран:

echo $1 $2 $3

Будет выведено arg1 arg2 arg3

106

Пример:

 

set `date`

 

Выход команды date становится

 

последовательностью аргументов для

 

команды set и на экране ничего не

 

отобразится.

 

Будет сформировано:

 

$1 - день недели;

 

$2

- название месяца;

 

$3

- день месяца;

 

$4

- дата;

 

$5

- год.

107

 

 

Дополнительные переменные командной строки.

$# - число аргументов в командной строке;

$* - все аргументы до последнего, то есть и $11, $12 и так далее;

$@- все аргументы в командной строке после того, как кавычки поставлены около каждого из них.

shift

 

 

echo $1

$2 … $9

 

arg2 arg3 ….arg10

108

echo $*

arg2 arg3 …. arg12

109

Отладка shell-программ

Для установки контроля над shell-

программой при вызове команды sh надо добавить одну из двух следующих опций:

-x - опция трассировки.

Эта опция необходима для просмотра команд и аргументов по мере их выполнения.

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

110

Соседние файлы в папке Компьютерные сети