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