11.10.13, dimasdimas...@ya.ru написал(а):
...
альтернативные реализации зело непросты (типа как с помощью screen/tmux
разбить
окно пополам, но тогда нужно в них запускать отдельные скрипты, которые
непонятно как должны между собой общаться. и прочее в таком духе, тянущее
еще
лишние
On Fri, Oct 11, 2013 at 10:43:48PM +0400, dimas wrote:
альтернативные реализации зело непросты
talk?
--
WBR, Michael Shigorin / http://altlinux.org
-- http://opennet.ru / http://anna-news.info
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of
12 октября 2013 г., 3:13 пользователь Dmitry Alexandrov
321...@gmail.com написал:
так вот, есть какой-то способ считывать пользовательский ввод в течение
этих 15 секунд с сохранением результатов, если энтер жмакнуть юзер не
успел?
На Баше как таковом, полагаю, способа нет.
Утилита timeout.
Поффтоплю.
Задача не для шелл-скрипта.
Есть очень часто установленный Ruby (с простым базовым синтаксисом) и почти
всегда и везде установленный Python...
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact
вот это любопытно. только какой сигнал послать read'у, чтобы он отдал считанное
хотя бы на stdout, а не просто молча сожрал?
проследил strace'ом: по истечении таймаута read -t N оный рид убивает себя
SIGALRM'ом, при это не возвращая ничего и никуда.
точнее, не совсем так. ибо read - не испоняемый
кстати, а есть же еще такая тулза scrpit, тоже вполне стандартная, можно с ее
помощью как-то извратиться...
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive:
спасибо, заценю!
а для очистки строки я нагуглил реализацию через tput (простое echo -e
\e[K) не работает как ожидается, если содержимое не влазит в одну строку. так
что с этими штуками все равно связываться.
а можешь для дураков объяснить строку с stty бла-бла-бла? из мана я мало что
понял,
12 октября 2013 г., 22:05 пользователь dimas dimas...@ya.ru написал:
вот это любопытно. только какой сигнал послать read'у, чтобы он отдал
считанное
хотя бы на stdout, а не просто молча сожрал?
Зачем сигнал? И не ридово это дело - на stdout выводить.
У меня timeout запускает shell script,
всем привет!
хочется в одной приблуде реализовать режим чата, суть которого в следующем:
раз в 15, допустим, секунд проверяем наличие новых сообщений.
в течение этого времени юзер может вводить свой текст, а по нажатию энтера -
отправлять.
если получили новое сообщение - сохраняем в переменной то,
так вот, есть какой-то способ считывать пользовательский ввод в течение
этих 15 секунд с сохранением результатов, если энтер жмакнуть юзер не
успел?
На Баше как таковом, полагаю, способа нет. Если нет возможности собрать
альтернативную read’у читалку ввода из кода на Си, то могу предложить
Ещё можно читать по символу командой read -N 1 в цикле.
Итоговое сообщение слепить из введенных символов.
12 октября 2013 г., 0:13 пользователь Dmitry Alexandrov
321...@gmail.comнаписал:
так вот, есть какой-то способ считывать пользовательский ввод в течение
этих 15 секунд с сохранением
Читать в цикле, безусловно, можно, но я как-то не улавливаю в этом смысла. Как
вы предлагаете разрывать его по таймауту? Можно, конечно, как-то так:
#!/bin/bash
TTY=$(tty)
sleep 15s \
ttyecho -n $TTY $'\4'
until [[ $REPLY == $'\4' ]]; do
read -N 1
INPUT=$INPUT$REPLY
done
echo
echo
12 matches
Mail list logo