Часть II • Защитные операции с использованием bash
.Объявление.в.нашем.сценарии.переменной.
i
.как.локальной.—.хорошая.практика,.
хотя.для.нашего.сценария.это.некритично..Тем.не.менее.так.ваш.цикл.
for
.не.будет.
изменять.какой-либо.другой.индекс.или.счетчик.
.К.каждой.строке,.отправляемой.через.данную.функцию,.мы.добавляем.указание.
erase-to-end-of-line.(«стереть.до.конца.строки»).как.в.текущей,.так.и.в.следующей.
функции.
printf
..После.печати.пунктирной.линии.вторая.функция.
printf
.стирает.
следующую.строку,.где.курсор.будет.находиться.до.следующей.итерации.
.Функция.очистки.вызывается.при.выходе.из.сценария.панели.мониторинга,.
когда.пользователь.для.прерывания.и.выхода.из.сценария.нажмет.сочетание.кла-
виш.
Ctrl
+
C
..Как.и.наша.функция.очистки.в.сценарии.
tailcount.sh
.(см..главу.8),.эта.
функция.завершит.работу.функций,.находящихся.в.фоновом.режиме.
.В.отличие.от.предыдущей.версии,.где.системный.вызов.
kill
.отправляет.сигнал.
определенному.процессу,.здесь.мы.используем.нотацию.
%1
,.чтобы.дать.системному.
вызову.
kill
.указание,.согласно.которому.сигнал.должен.быть.передан.всем.процес-
сам,.запущенным.в.результате.работы.процесса.в.фоновом.режиме..Все.эти.процессы.
считаются.частью.одной.и.той.же.«работы»..Их.рабочие.номера.(
%1
,.
%2
,.
%3
.и.т..д.).
определяются.порядком.их.размещения.в.фоновом.режиме..В.этом.сценарии.у.нас.
есть.только.один.фоновый.процесс.
.Мы.перенаправляем.вывод.в.функцию.
clear
.таким.образом,.что.все.выходные.
данные,.поступающие.из.stdout.или.stderr,.будут.отброшены..Такая.очистка.гаран-
тирует.отсутствие.любых.неожиданных.сообщений,.хотя.ничего.подобного.мы.и.не.
ожидаем.(это.плохо.для.отладки,.но.экран.будет.намного.чище).
.Команда.
tempfile
.генерирует.уникальное.имя.и.проверяет,.не.используется.ли.
оно.в.данный.момент..В.результате.нам.будет.известно,.что,.независимо.от.количе-
ства.запущенных.экземпляров.сценария.и.расположенных.рядом.других.файлов,.
для.этого.сценария.рабочий.файл.будет.доступен..В.функции.
clear
.есть.код,.уда-
ляющий.данный.файл.при.каждом.выходе.из.сценария.
.Эта.строка.запускает.два.сценария,.которые.описаны.в.главе.8..Данные.сценарии.
подсчитывают.строки,.добавляемые.в.конце.файла..Фигурные.скобки.группируют.
все.процессы.этого.конвейера.команд.вместе.и.помещают.в.«фон»,.отключая.их.от.
ввода.с.клавиатуры..Эти.процессы.и.все,.что.они.создали,.являются.частью.зада-
ния.1.(
%1
),.то.есть.задания,.работу.которого.прекратит.функция.
clear
.
.Каждый.раздел.вывода.отправляется.отдельно.в.функцию.
prSection
..Команды.
для.раздела.не.нужно.группировать.внутри.фигурных.скобок,.если.для.этого.
Do'stlaringiz bilan baham: |