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. В вашем случае могут наблюдаться отличия.
Рис. 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
0А
012
Ctrl‑K
11
0B
013
Ctrl‑L
(FF)
12
0C
014
Ctrl~M
(CR)
13
0D
015
Ctrl‑N
14
0Е
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
1С
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
<