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 уничтожает всю строку.
Далее в качестве символа стирания мы будем использовать >#, поскольку он "виден" на терминале. Если в вашей системе его нет, то сделайте соответствующие изменения. Ниже при описании настройки окружения мы покажем, как задать удобное для вас представление символов стирания и уничтожения.
А что нужно, чтобы ввести сами символы стирания и уничтожения как часть текста? Если перед символами ># и >@ поставить обратную дробную черту (>\), то они утрачивают свое специальное назначение. Поэтому для ввода ># или >@ необходимо набрать на клавиатуре >\# или >\@. При вводе >@ система может передвинуть курсор в начало следующей строки, даже если ему предшествовала обратная дробная черта. Не волнуйтесь, символ >@ в текст попадет.
Обратную дробную черту иногда называют символом экранирования. Она указывает на то, что следующий за ней символ в некотором смысле специальный. Для удаления обратной дробной черты необходимо ввести два символа стирания: >\##. Понятно почему?
Вводимые вами символы, прежде чем попадут к адресату, анализируются и интерпретируются последовательным рядом программ. Поэтому их интерпретация зависит не только от программы, в которую они попали, но и от того, откуда они туда попали.