Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

УПРАВЛЯЮЩИЕ ПОСЛЕДОВАТЕЛЬНОСТИ

В процессе написания письма иногда необходимо вызвать текстовый редактор на незаконченное письмо, напечатать его, выполнить команду shell или воспользоваться еще какой-нибудь дополнительной функцией. В mail для этого служат управляющие последовательности, которые состоят из `~' (тильды) в начале строки и одного символа, который указывает, какую именно функцию следует выполнить. Управляющие последовательности чувствительны к регистру.

~!command

Выполняет команду и возвращает Вас в режим редактирования, не меняя текста письма.

~?

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

~bname ...

Добавляет адреса в список получателей невидимых копий письма. В остальном работает аналогично ~t и ~c.

~ccname ...

Добавляет адреса в список получателей нормальных копий письма. Эта последовательность работает аналогично ~t и ~b.

~d

Читает файл dead.letter в Вашем регистрационном каталоге и добавляет его содержимое к тексту текущего письма. Если файл не существует или не читается, mail выдает ошибку. Если файл успешно прочитан, на экран выдается число строк и символов, добавленных к письму, после чего можно продолжать ввод текста.

Это удобно, так как mail копирует в этот файл текст письма, которое Вы отменяете при помощи CTRL/C.

~e

Передать набираемое письмо в редактор. После выхода из него, можно продолжать работать с текстом письма. mail предусматривает вызов стандартного редактора. Если он Вас не устраивает, переустановите значащую переменную EDITOR, скажем, так:


set EDITOR=/bin/red

~f

Вставить перечисленные письма в текущее письмо. Заголовки писем не включаются.

~F

Вставить перечисленные письма (с заголовками). Эта управляющая последовательность эквивалентна ~f, но включает еще и заголовки писем.

~h

С помощью этой последовательности можно проводить тонкую настройку заголовка письма.

После своего ввода она выведет на терминалTo: и текущий список адресатов, а затем установит курсор в конец строки. Если Вы будете вводить обычные символы, они будут дописываться к текущему списку адресатов. После ввода символа новой строки программа mail перейдет к полю Subject:, над которым можно выполнять такие же действия. Следующий символ новой строки оcуществляет переход к редактированию поля Cc: по тем же правилам. После этого по символу новой строки Вы перейдете к дописыванию текста Вашего письма. Чтобы посмотреть текст полей заголовка и основного письма в том виде, как они выглядят сейчас, можно воспользоваться ~p.

Кроме полей To:, Subject: и Cc: при помощи последовательности ~h в некоторых системах можно заполнить поле Bcc: (невидимые копии). Адресатам, указанным в поле Bcc: тоже будет послана копия письма, но, в отличие от адресатов из поля Cc:, их адреса не передаются в окончательном заголовке письма (остаются невидимыми, отсюда и название копий).

~mmessages

Если Вы посылаете почту, находясь в командном режиме mail можно включить в текст составляемого письма полученное Вами письмо, пользуясь управляющей последовательностью ~m. Например,


~m 4

вставит письмо 4 в текущее письмо, сдвинув его на табуляцию вправо. Можно указывать любое неудаленное письмо или список писем. Заголовки писем не включаются.
~Mmessages

Эта управляющая последовательность эквивалентна ~m, но включает еще и заголовки писем.

~p

Показать письмо, "как оно есть" (со всеми полями заголовка).

~q

Отменить письмо; то же, что и CTRL/C. Письмо запишется в dead.letter в Вашем регистрационном каталоге, если установлена переменная save.

~rfilename

Бывает полезно иметь возможность включать содержимое некоторого файла в текст Вашего письма. На этот случай есть управляющая последовательность ~r файл, которая добавляет указанный файл к тексту текущего письма. Если файл не существует или не читается, mail выдает ошибку. Если файл успешно прочитан, на экран выдается число строк и символов, добавленных к письму, после чего можно продолжать ввод текста. Имя файла может содержать метасимволы shell, такие, как `*' и `?', они будут расшифрованы в соответствии с установленным интерпретатором командного языка.

Как особый случай ~r, управляющая последовательность ~d эквивалентна ~r dead.letter.

~sstring

Вставляет тему письма, которая заменяет прежнюю тему на string.

~tname ...

Добавляет адреса к списку адресатов письма. Можно указывать одновременно несколько адресатов. Обратите внимание на то, что пользователи, ранее включенные в список адресатов, тоже получат это письмо. Удалять имена из списка ~t не умеет.

~v

Вызывает для письма альтернативный редактор (определен в переменной VISUAL). В остальном эквивалентно ~e.

~wfilename

Записывает письмо в файл filename.

~|command

Если Вам нужно пропустить текст Вашего письма через команду-фильтр, воспользуйтесь этой управляющей последовательностью которая фильтрует письмо через команду, задаваемую аргументом command, и использует вывод как новый текст письма. Если command не выводит ничего, то mail заключает, что произошла ошибка и возвращает старую версию письма. Команда command может быть любой командой Linux, например, именем скрипта.

~:mail-command

Для временного возврата в командный режим mail можно пользоваться этой управляющей последовательностью


~: команда_mail

Это особенно полезно для повторного просмотра письма, на которое Вы отвечаете, например:


~: t

Этим также можно пользоваться для установки переменных и переопределения псевдонимов.

~~string

Если Вам хочется отправить письмо, содержащее строку, начинающуюся с тильды, удвойте ее. Например:


~~Эта строка начинается с тильды.

посылает строку

~Эта строка начинается с тильды.