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

Обратите внимание на применение двойных кавычек, которые позволяют в потоке данных вывода указывать пробелы.

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

В следующем примере создаются два журнальных файла. Для одного файла дата указывается в формате дд, мм, гг, а для другого — в формате дд, чч, мм.

Сценарий имеет вид:

$ pg log

#!/bin/sh

# регистрация

#

MYDATE=`date +%d%m%y`

#присоединение MYDATE к переменной LOGFILE, которая содержит действительное #имя файла регистрации.

LOGFILE=/logs/backup_log.$MYDATE

#создание файла

>$LOGFILE

MVTTIME= `date +%d%R` LOGFILE2=/logs/admin_log.$MYTIME

# создание файла

>$LOGFILE2

При выполнении этого сценария создаются два журнальных файла.

backup_log.09069 9 admin_log.09l6:18

26.1.2. Создание уникальных временных файлов

При рассмотрении специальных переменных уже обсуждалась переменная $$ Она содержит ID или номер процесса, выполняющегося в текущий момент. Эти сведения применяются при создании временных файлов в текущем сценарии, поскольку ID процесса уникален в рамках сценария. Достаточно лишь создать файл и присоединить к нему символ $$, После завершения можно удалить все файлы, имеющие символ $$ в качестве расширения. Интерпретатор shell оценивает переменную $$ как текущий ID процесса и удаляет эти файлы, но оставляет файлы, к которым присоединен ID процесса.

В командной строке введите следующую команду:

$ echo $$

281

Это значение ID процесса приведено для примера; в вашем случае, скорее всего, будет получено другое значение. Если создать новый сеанс и ввести эту же команду, получится другой номер, поскольку будет запущен иной процесс.

$ echo $$

382

Ниже приводится сценарий, который создает два временных файла, обрабатывает и затем удаляет их.

$ pg tempfiles

#!/bin/sh

#tempfiles

#именование временных файлов

HOLD1=/tmp/hold1.$$

HOLD2=/tmp/hold2.$$

#выполнение определенной обработки с помощью этих файлов

df -tk > $HOLD1

cat $HOLD1 > $HOLD2

# удаление файлов

rm /tmp/*.$$

При выполнении этого сценария создаются следующие два файла.

hold1.408 hold2.408

Когда указывается команда rm /tmp/*.$$, интерпретатор shell в действительности выполняет команду rm /tmp/*.408.

Важно помнить, что ID процесса является уникальным только в конкретный момент времени. Например, если приведенный выше сценарий выполнить снова, получим новый ID процесса, поскольку речь идет о другом процессе.

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

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

26.2. Сигналы

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


Номер сигналаНазвание сигналаЗначение
1SIGHUP"Зависание" или прекращение выполнения родительского процесса
2SIG1NTПрерывание с помощью клавиатуры; обычно используется комбинация клавиш [Ctrl+C]
3SIGQUITЗавершение выполнения с помощью клавиатуры
9SIGKILLПрекращение выполнения определенного процесса
11SIGSEGVНарушение сегментации (память(
15SIGTERMЗавершение выполнения программы (завершение выполнения программы, заданное по умолчанию)
Перейти на страницу:

Похожие книги

Библия БДСМ. Полное руководство
Библия БДСМ. Полное руководство

Первое исчерпывающее пособие по БДСМ. Уникальный иллюстрированный гид для тех, кому просто любопытно, и для тех, кто уже в Теме. В этой книге известные педагоги и профессионалы ответили на все важные вопросы и раскрыли все интересующие вас темы: основные принципы, ролевые игры, господство, подчинение, фистинг, садизм, мазохизм, связывание, физическое воздействие, тантра необычного секса и многое другое. Если вы хоть раз задумывались о БДСМ, значит, эта книга то, что вам нужно. Она способна обучить, вдохновить и бросить вызов даже опытным игрокам. Не бойтесь экспериментировать, и добро пожаловать в мир сексуальных приключений!

Литагент «5 редакция» , Тристан Таормино

Зарубежная образовательная литература, зарубежная прикладная, научно-популярная литература / Руководства / Дом и досуг / Образовательная литература / Словари и Энциклопедии