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

Тогда программа на awk будет иметь вид:

awk ‘{system (“cat” $1)}’ file.me > file.your

В этом случае создается файл file.your,

который будет содержать полную копию всех трех файлов: file.1, file.2, file.3.

41

CGI программирование с применением shell и awk

Для изложения этого материала необходимо повторить материал по:

a.протокол HTTP:

запрос;

ответ;

перенаправление.

b.интерфейс CGI:

42

методы:

 

GET

 

POST

action:

адрес CGI скрипта.

Структура CGI скрипта:

заголовки HTTP протокола;

пустая строка;

тело запроса/ответа скрипта.

43

Пример 1.

Вывести значения некоторых переменных окружения Web-сервера.

Файл ENV-sh1.cgi

#!/bin/bash/

#Указание для web-сервера, где находится

#shell-интерпретатор

echo “Content-type: text/html”

#Вывод заголовка о типе ответа echo “”

#Вывод пустой строки разделитель

#заголовков и тела ответа. Это очень

# важная строка.

44

 

echo “It is now `date`”

# вывод текщей даты

echo “QUERY_STRING = $QUERY_STRING” echo “REMOTE_HOST = $REMOTE_HOST

echo “Your IP addresses is $REMOTE_ADDR

exit 0

Для этой программы необходимо знать названия этих переменных окружения.

45

Пример 2.

Вывести значения всех переменных окружения, включая переменные Web- сервера.

Файл ENV-sh2.cgi

#!/bin/bash/

echo “Content-type: text/html” echo “”

echo “<html><head><title>” echo “CGI test on shell UNIX” echo “</title></head><body>”

echo “<h1> CGI test on UNIX shell</h1>”

46

for i in `env`

#Операция `env` выдает значение

#команды env

do

echo “$i<br>” done

echo “</body></html>” exit 0

47

 

Команда env:

выдает значения текущей рабочей среды

 

окружения по одной переменной в каждой

 

строке в формате

 

Имя_переменной=Значение_переменной

модифицирует среду для выполнения

 

команд, не влияя на текущее окружение.

В этом случае синтаксис команды env следующий:

env – Имя=Значение Команда

48

Здесь:

опция “-ограничивает рабочую среду только теми переменными, что есть в списке формата Имя=Значение.

Без опции “-“ команда env добавляет этот список в рабочую среду.

Имя=Значение – список установок для выполняемой команды.

Команда – имя команды и ее аргументов для выполнения в указанной среде.

49

Примеры:

env - выводит текущее окружение в формате Имя=Значение

env PATH=/usr/pmi sh - запускает новый командный процессор с исходным каталогом /usr/pmi/

50

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