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.

Responder a