Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Hekaly en 22 Diciembre 2013, 21:03 pm



Título: [BASH] Interactividad en script bash
Publicado por: Hekaly en 22 Diciembre 2013, 21:03 pm
Hola a todos.

En primer lugar perdon por el titulo como se muy bien como llamar a lo que quiero hacer he puesto ese nombre.

La duda la voy a poner con un ejemplo, imaginemos que queremos hacer una ficha de un empleado, lo tipico, nombre, apellidos, fecha, etc.

El métido clasico seria a base de echo y read un ejemplo muy rapido.

Código
  1. #!/bin/bash
  2.  
  3. echo -e "Escribe el nombre"
  4. read nombre ; clear
  5. echo -e "Escribe los apellidos"
  6. read apellidos ; clear
  7. echo -e "Escribe la fecha de nacimiento"
  8. read fecha ; clear
  9.  
  10. echo -e "Tu nombre es [$nombre], tus apellidos son [$apellidos] y naciste el [$fecha]"
  11.  

El caso es que quiero que sea algo similar a esto (esta imagen es para configurar una red

(http://www.ibm.com/developerworks/aix/library/au-aixoptimization-netperform3/fig01.jpg)

* Para los que no puedan ver la foto:  configuracion red (http://www.ibm.com/developerworks/aix/library/au-aixoptimization-netperform3/fig01.jpg)

Donde vemos las descripciones a la izquerda y los datos a rellenar a la derecha, el primer problema que veo aqui es el modo de cambiar el cursor con cordenadas, se que con el comando tput puede mover el cursor.

Código
  1. tput cup 25 80

* Aqui muevo el cursor a la cordenada X 25 y condernada Y 80

Pero claro esto me permite escribir, y me gustaria (la otra parte de la duda) crear unos hotkey para mover el cursor a la derecha o izquerda para poder borrar y editar o bien usar las flechas arriba y abajo para cambiar el "cajon" a editar.

Por ultimo me gustaria hacer otras funciones como por ejemplo el editor nano, pulsando "s" pasas a la siguiente hoja, "b" atras, "f1" sales, "enter" aceptas, etc

Es por decirlo asi , un menu, un macro, ventana o algo asi, con la posibilidad de que el usuario interactue libremente editando lo que quierda (dentro de los cajones permitidos).

No se si esto se puede hacer en bash, se requiere de comandos especiales, o necesito hacerlo en C, python, etc.

Muchas gracias y un saludo.



Título: Re: [BASH] Interactividad en script bash
Publicado por: Hekaly en 14 Enero 2014, 00:07 am
Buenas a todos.

Sigo investigando y aprendiendo algunas cosas para hacer una serie de script.

Ya he conseguido realizar una especie formulario como se muestra en la imagen...

(http://oi39.tinypic.com/2qbrlo1.jpg)

Imagen ficha usuario (http://oi39.tinypic.com/2qbrlo1.jpg)

Como se puede ver se a la izquerda estan los encabezados de lo que se pide y a medida que escribimos y damos intro vamos rellenando las variables para que finalmente las muestre con echo.

La duda que tengo y no se si se podra realizar con bash es lo siguiente. Imaginemos que estamos escribiendo las variables, vamos por la parte de fecha y vemos que la variable nombre esta mal escrita y queremos corregirlo, lo logico es poder editar y para ello dariamos dos veces a la flecha arriba o bien al tabulador para posicionarse.

Es posible hacer eso? si es asi, con que herramienta o comando se podria hacer??, muchas gracias por la ayuda.