El Tue, 5 Mar 2002 22:36:08 +0000 escribió: > On Tue, 5 Mar 2002 21:29:19 +0100 (CET) > Antonio Castro <[EMAIL PROTECTED]> wrote: > > > On Tue, 5 Mar 2002, Sistemas 1 wrote: > > > > > Alguien conoce una forma de recibir un caracter desde stdin y ponerlo en > > > una > > > variable (sin esperar enter) en bash o ksh. > > > > Para este tipo de cosas hay que usar curses. Te dá independencia del > > tipo de terminal a través de la variable de entorno TERM. curses o ncurses > > es una librería para C pero no hay problema te haces un programita en C y > > te lo colocas en un lugar accesible a la bash ($PATH). > > Realmente se puede hacer sólo con bash de una forma un tanto curiosa > (con dd), yo lo hice con un compañero para una práctica de la universidad. > No tengo el script pero mi compañero sí y él lee la lista así que supongo > que rezongará. Además el gurú que nos enseñó a hacerlo (ni nosotros ni los > profesores teníamos ni idea) también lee la lista. > > Lo único que puedo decirte es que era algo así como > 1- deshabilitar la respuesta a las interrupciones de teclado (no recuerdo > el comando) > > 2- Leer del teclado con dd > > 3- Volver a dejarlo todo como estaba. > > Si no era eso era algo parecido (así, sencillote e intuitivo ;-) ). > > Saludos > >
hola, me parecio curioso esto que escribiste, asi que despues de hacer un par de pruebas: stty raw -F /dev/stdin var=$(dd bs=1 count=1 2> /dev/null) stty -raw -F /dev/stdin y listo, "var" contiene la letra que pulsaste. saludos, Diego -- Son ya las ocho el ruido en mi calle es infernal perforan la acera por cuarta vez o por quinta ya. Son como hormigas que buscan comida sin parar la rompen, la cierran mañana otra vez vuelta a empezar. ... Baron Rojo.