Кажется, что такой инструмент уже существует для GNU/Linux. Это назвало Ardesia. Читайте об этом здесь
Пример (взятый из вышеупомянутой ссылки):
Кроме того, отметьте это ardesia
кажется, превратил его путь в repos (это находится в Debian стабильный repos, по крайней мере).
Принятие tty "приготовленный" режим, ctrl - D работает путем завершения входной обработки строки и отправки данных, уже введенных приложением. Таким образом, при вводе "abc", сопровождаемой ctrl - D, те три байта будут отосланы к приложению.
Теперь, как приложение обычно определяет конец файла? EOF принят, когда чтение возвращает 0 байтов. Таким образом, необходимо заставить чтение возвращать 0 байтов. Если вы, в которых первый хит входит и затем ctrl - D, сначала что-либо, которое вы ввели, отправляетесь в приложение вместе с символом новой строки. Затем ctrl - D вызывает любые данные, в которые вы вошли (т.е. ничто!), чтобы быть отправленным в приложение, которое читает 0 байтов и предполагает EOF.
, Если вы входите, что-либо после эти входит прежде, чем совершить нападки ctrl - D затем, приложение получает те нажатия клавиш и ожидает больше. Таким образом для генерации EOF без первого удара входят , совершают нападки ctrl - D дважды подряд.
Так для ответа на вопрос:Вы сначала ввели какие-либо символы (кроме новой строки), прежде чем нажать ctrl - D ? Если да, попробуйте это дважды подряд.
Это можно проверить, например:
$ wc -l
test123 0 1 7
(нажмите ctrl - D дважды после test123
.)
Утилита wc
показывает количество прочитанных строк, слов и символов. Строки 0, так как вы не ввели новую строку, а test123
- это одно слово и 7 символов.
Нет "символа EOF", ctrl-D переводится драйвером терминала в условие конца файла , передается тому, кто пытается читать после этого (без него read (2)
или другой вызов, ожидающий ввода, будет просто вечно ждать нового ввода). Это зависит от режима, в котором находится tty, предыдущее обсуждение относится к приготовленному режиму (драйвер собирает строки, позволяя ограниченную форму редактирования строк, полные строки отправляются читателю). Готовый режим - это режим по умолчанию, используемый почти каждой программой, читающей с клавиатуры. В необработанном режиме (например, vi (1)
или других редакторах, настроенных для получения полного контроля) программа получает каждый символ в точности так, как он введен.