UNIX — универсальная среда программирования | страница 11



в справочном руководстве.)

Ошибки при вводе. Если вы ошиблись при вводе и заметили это прежде, чем нажали клавишу RETURN, то поправить дело можно двумя способами: или стирать символы (но одному), или уничтожить всю строку и ввести ее заново. При нажатии клавиши, служащей для уничтожения строки (обычно это символ >'@'), вся строка будет удалена, как будто бы вы ее никогда и не вводили, а вам придется выполнить ввод с начала новой строки:

>$ ddate@ Уничтожается вся строка:

>date ввод с новой строки

>Mon Sep 26 12:23:39 EDT 1983

>$

Символ >'#' стирает последний введенный символ: каждый раз при вводе ># стирается только один символ слева от курсора. Поэтому если вы не уверены в своем вводе, можно делать поправки по мере работы:

>$ dd#atte##e Исправления в процессе ввода

>Mon Sep 26 12:24:02 EDT 1983

>$

Представление символов стирания (>#) и уничтожения (>@) зависит от системы. Во многих системах (включая используемую здесь для примеров) в качестве символа стирания употребляется "шаг назад", что хорошо смотрится на видеотерминалах. С помощью своей системы вы можете легко проверить, так ли это:

>$ datee←                     Пробуем ←

>datee← : not found           Не подходит

>$ datee#                     Пробуем #

>Mon Sep 26 12:26:08 EDT 1983 # подходит

>$

(Мы изображаем "шаг назад" как ←, чтобы символ был "виден".) Обычно принимается, что символ ctl-u уничтожает всю строку.

Далее в качестве символа стирания мы будем использовать >#, поскольку он "виден" на терминале. Если в вашей системе его нет, то сделайте соответствующие изменения. Ниже при описании настройки окружения мы покажем, как задать удобное для вас представление символов стирания и уничтожения.

А что нужно, чтобы ввести сами символы стирания и уничтожения как часть текста? Если перед символами ># и >@ поставить обратную дробную черту (>\), то они утрачивают свое специальное назначение. Поэтому для ввода ># или >@ необходимо набрать на клавиатуре >\# или >\@. При вводе >@ система может передвинуть курсор в начало следующей строки, даже если ему предшествовала обратная дробная черта. Не волнуйтесь, символ >@ в текст попадет.

Обратную дробную черту иногда называют символом экранирования. Она указывает на то, что следующий за ней символ в некотором смысле специальный. Для удаления обратной дробной черты необходимо ввести два символа стирания: >\##. Понятно почему?

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