El 5 de agosto de 2008 19:24, <[EMAIL PROTECTED]> escribió: > Hola a todos. > > Quiero hacer un script que presente un menu en la consola (elije 1, 2, > 3), y añadirle la funcionalidad de un timeout, el cual trancurridos > unos segudos elija una opción por defecto. > > Lo estoy intentando en Perl (pero si se puede hacer en bash o incluso > C me viene bien, la idea es que se pueda ejecutar en debian), pero me > estoy liando. >
Por supuesto que se podría hacer en bash... echa un vistazo a esto: http://linux.die.net/man/1/dialog > > El menú lo tengo claro, un stdin y unos cuantos if, el problema es que > no sé como implementar el timeout. > > Buscando por el google, he leido que para realizar menus interactivos > no se utiliza el stdin ya que no permite automatizar el proceso de > entrada de datos. > > Mirando en cpan he encontrado cosas como expect, send, spawn y en C he > visto que la librerias tipo conio y iostream me pueden venir bien. > > El caso es que cada vez me estoy perdiendo más y por eso os pido ayuda. > > Ni que decir tiene que todo esto es porque estoy muy justito en > programación. > > ¿Por donde he de enfocar la cosa? > > De momento solo he llegado a esto: > > #!/usr/bin/perl > use Term::ANSIColor; > > imprime_menu(); > > close(STDIN); > print STDOUT "Por favor elije una opción:\n"; > $input = <STDIN>; > print STDOUT "The number is $input\n"; > chop($input); > > if ($input =='') { > sleep 5; > print 'vacio!'; > print "Han pasado 5 valiosos segundos!!\n"; > $input = "5\r"; > print $input; > close(STDIN); > } > if ($input == '1') { > print 'opcion1!'; > } > if ($input eq '2') { > print "\nopcion2\n"; > } > > Gracias > > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact > [EMAIL PROTECTED] > Sobre perl, lo siento no te puedo ayudar... espero que al menos el dialog te haya sido de ayuda.