df | sed 1d | awk '(print $5"\t"$6>' | while read percent mount

do

echo "<TR><TD align="center"><B>$percent</B></TD><TD align="center">$mount</TD></TR>"

done

С помощью команды df выполняется перенаправление посредством редактора sed для удаления заголовка, затем выполняется перенаправление к awk и считывание в пятом и шестом столбцах. Результаты присваиваются переменным percent и mount.

Аббревиатура TR обозначает строку таблицы, а TD — табличные данные. Тем самым определяется место, куда направляется информация.

Ниже приведен текст соответствующего сценария. Конечно, 60 секунд — это слишком много при мониторинге небольших файловых систем, но при перемещении большого количества файлов в файловых системах полезно отображать информацию об этом на протяжении целой минуты!

$ pg dfspace.cgi

#!/bin/sh

# сценарий dfspace.cgi

echo "Content‑type: text/html"

echo ""

# автоматическое обновление каждые 60 секунд

echo "<meta http‑equiv="Refresh" content="60;URL=http:/"linux.pc/cgi‑bin/dfspace.cgi">"

echo "<HTML>"

echo "<HR>"

echo "<A NAME="LINUX. PC Filesystems">LINUX. PC Filesystems</A>"

echo "<TABLE align="center" cellspacing="20" border=9 width="40%"

cols="2">"

echo "<TH align="center">- Capacity % -</TH>"

echo "<TH align="center">- File System -</TH>"

# получение вывода из df, но сначала фильтруется нужная информация!

df | sed 1d | awk '{print $5"\t"$6}' | while read percent mount

do

echo "<TR><TD align="center"><B>$percent</B></TDXTD align="center">$mount</TD>

</TR>"

done

echo "</TABLE>"

echo "</HTML>"

При вводе URL

http://<имя_сервера>/cgi‑bin/dfspace.cgi

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

Linux и UNIX: программирование в shell. Руководство разработчика _21.jpg

Рис. 29.15. Использование вывода команды df для генерирования таблиц

29.6. Заключение

Сценарии cgi обеспечивают создание весьма привлекательного пользовательского интерфейса. Страницы HTML могут использоваться в качестве интерфейса для всех распространенных задач, выполняющих обработку информации.

Создаваемые сценарии могут применяться для мониторинга, создания интерфейса, запросов к базам данных и решения других задач. Язык HTML является стандартным форматом для создания документации, поставляемой вместе с программным обеспечением.

ПРИЛОЖЕНИЕ А Коды ASCII

Символ

Десятичное значение

Шестнадцатеричное значение

Восьмеричное

значение

Ctrl-@

(NUL)

0

00

000

Ctrl‑A

1

01

001

Ctrl‑B

2

02

002

Ctrl‑C

3

03

003

Ctrl‑D

(EOT)

4

04

004

Ctrl‑E

5

05

005

Ctrl‑F

6

06

006

Ctrl‑G

(BEL)

7

07

007

Ctrl‑H

(BS)

8

08

010

Ctrl‑I

(TAB)

9

09

011

Ctrl‑J

(NL)

10

012

Ctrl‑K

11

0B

013

Ctrl‑L

(FF)

12

0C

014

Ctrl~M

(CR)

13

0D

015

Ctrl‑N

14

016

Ctrl‑O

15

0F

017

Ctrl‑P

16

10

020

Ctrl‑Q

17

11

021

Ctrl‑R

18

12

022

Ctrl‑S

19

13

023

Ctrl‑T

20

14

024

Ctrl‑U

21

15

025

Ctrl‑V

22

16

026

Ctrl‑W

23

17

027

Ctrl‑X

24

18

030

Ctrl‑Y

25

19

031

Символ

Десятичное значение

Шестнадцатеричное значение

Восьмеричное

значение

Ctrl‑Z

26

1A

032

Ctrl -[ (ESC)

27

1B

033

Ctrl-\

28

034

Ctrl-]

29

1D

035

Ctrl-^

30

1E

036

Ctrl-_

31

1F

037

Пробел

32

20

040

;

33

21

041

"

34

22

042

#

35

23

043

$

36

24

044

%

37

25

045

&

38

26

046

'

39

27

047

(

40

28

050

)

41

29

051

*

42

2A

052

+

43

2B

053

`

44

2C

054

_

45

2D

055

.

46

2E

056

/

47

2F

057

0

48

30

060

1

49

31

061

2

50

32

062

3

51

33

063

4

52

34

064

5

53

35

065

6

54

36

066

7

55

37

067

8

56

38

070

9

57

39

071

:

58

ЗА

072

!

59

3B

073

<