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

Для отмены специального смысла одного символа - надо применить

обратную косую черту (\).

Для группы символов это рекомендуется применять в случаях, когда

Вы хотите shell-переменной присвоить

последовательность слов, разделенных пробелами.

Например, в случае

ps_10 = Student Titov Vladimir

переменной будет присвоено только слово

Student и выдано аварийное сообщение, что команд и программ с именами Titov и

Vladimir не найдены.

31

Поэтому надо сделать: ps_10='Student Titov Vladimir'

или

="Student Titov Vladimir"

или

=Student\ Titov\ Vladimir

Эти все три способа равноценны.

32

Команда set

Команда set (установить) предназначена для вывода списка созданных переменных.

Чаще всего в нем выводится, кроме Вами созданных переменных, еще и следующие:

- TERM = vt100- тип терминала;

-PS1 = '$'- первичная подсказка, которую выводит интерпретатор shell, когда он готов принимать команду;

-PS2 = '>'- вторичная подсказка, которую выводит копия shell (то есть, вторично запущенный интерпретатор shell);

33

-PATH = /bin::/usr/bin

-HOME = - имя Вашего начального каталога;

-IFS = - внутренние разделители полей, которыми обычно служат:

-пробел;

-табуляция;

-символы новой строки.

34

Команда set имеет несколько опций, но Мы рассмотрим только одну:

-v - все входные строки, читаемые shell, выводятся на экран.

+v - подавление вывода на экран входных строк.

35

Доступ к отдельным аргументам

Когда команда set применяется одновременно с подстановкой результата выполнения команды, каждый из

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

Для задания подстановки результата выполнения команды в следующем примере команда date заключена в знаки апострофа

` (самая левая клавиша в цифровом ряде): set `date`

36

Выход команды date становится последовательностью аргументов для команды set и поэтому на экране ничего не появится.

Если вызвать саму команду date, то на экране можно будет увидеть:

date

Sun May 28 13:49:53 2011

37

После выполнения команды set `date` её результат будет присвоен последовательности параметров

$1, $2, $3, $4, $5

Теперь можно выводить на экран в любом удобном виде.

Например:

echo 'DATE: $3 $2 $1 $5 TIME: $4' На экран будет выведено:

DATE: 29 May Sun 2011 TIME: 13:49:53

38

Доступ к другим позиционным параметрам с номерами, больше девяти,

происходит по команде shift (сдвиг), которая сдвигает аргументы на одну позицию влево:

($1 <= $2, $2 <= $3 и т.д.),

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

Интерпретатор shell воспринимает

символ звездочки * как метасимвол для генерации номера любого позиционного параметра.

39

Путем ввода следующей команды можно получить доступ ко всем позиционным параметрам вызова:

shift echo $*

arg2, arg3, ....., arg11, arg12

то есть, здесь выводятся все - вплоть до

последнего имеющегося параметра, тогда как команда:

echo $1 $2 $3 $4 $5 $6 $7 $8 $9 выведет только

$2

$3

$4

$5

$6

$7

$8

$9

$10

40

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