Criado Indomable

Un intento de Blog de Sebastián D. Criado – 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

Desarrollar shell script con Dialog y Xdialog

Publicado por criadoindomable en Miércoles, diciembre 20, 2006 14:35

Software LibreEl lenguaje de scripting puede ser una excelente herramienta para la administración de sistemas. Brinda la flexibilidad propia del lenguaje con estas características y a su vez es muy potente.

Una de las herramientas más utilizadas por los administradores de sistemas tipo UNIX es el propio uso del interprete de comandos para generar shell script, siguiendo con la filosofía de usar pequeñas herramientas simples que hacen cosas puntuales para hacer grande algo más grande y complejo.

El interprete de comandos más usado en el mundo del Software Libre (y en UNIX privativos también ya que lo han adoptado) es el BASH o Bourne-again shell, como se prefiera reconocerlo. También se utiliza mucho el sh o Bourne shell.
Además de ser interpretes poderosos, son a su vez potentes lenguajes de shell script que permiten utilizar todas las herramientas disponibles desde la interfase de comandos y que cuentan con estructuras similares a otros lenguajes compilados.

En este mundo de solo texto, se tiene el problema de que la interfase de usuario no es muy cómoda que digamos para un lego.
Por suerte existen formas de desarrollar con Bash o sh y tener una mejor interfase con el uso de dialog y Xdialog (el primero para el entorno de caracteres y el segundo para X)

Dialog, cdialog y X-Dialog permiten el uso de ventanas y “cajas” para hacer la experiencia de interactuar con u programa desarrollado en shell script más amena.

Su estructura es muy simple de comprender y cuenta con una serie de paramentros que le indicaran, al ser llamado el programa dialog desde el script, que es lo que tiene que mostrar.

Ej:

#!/bin/sh
# Mi primer script con dialog"
dialog --title "Mensaje en Dialog" \
--msgbox "\n Hello world !" 6 35

La primer linea (#!/bin/sh) indica que shell se utilizara, se podría haber puesto #!/bin/bash con idénticos resultados.
Con --title se define el titulo que tendrá el cuadro o la ventana
--msbox determina el tipo de dialog que se usara así como el contenido del mismo entre comillas. Los números 6 y 35 son los parametrs de alto y ancho del cuadro o ventana.

Para hacer esto mismo, pero para X, se puede usar X-dialog que tiene una estructura muy similar y es un reemplazo de dialog y cdialog.

Ej:

#!/bin/sh
# Mi primer script con Xdialog"
Xdialog --title "Mensaje en Xdialog" \
--msgbox "\n Hello world !" 6 35

Hay que aclarar que para podes utilizar tanto dialog como xdialog es necesario que estén instalados en el sistema.
En Debian y Ubuntu bastara con hacer #apt-get install dialog xdialog
Lo que cambia aquí es el uso de –wrap que sirve para hacer que el texto entre dentro de la ventana en caso de que sea más largo que lo que se pudo como ancho.

Para conocer más sobre dialog y Xdialog se pueden visitar los siguientes links:

Una intro a dialog
http://www.linuxjournal.com/article/2460

Man Page de dialog
http://hightek.org/dialog/manual-0.9a-20010429.html

Documentación de Xdialog
http://thgodef.nerim.net/xdialog/doc/index.html

About these ads

3 comentarios hacia “Desarrollar shell script con Dialog y Xdialog”

  1. Seba, si el Xdialog usado es el 2.3.1, sería interesante aplicar este parche:

    http://dcortarello.googlepages.com/Xdialog-2.3.1-patch-extra-button.patch

    Este parche que hice da la posibilidad de tener un botón extra configurable con $? -eq 3.

    Más explicaciones sobre el parche en este post: http://nomius.blogspot.com/2006/10/patch-for-xdialog-yes-made-in-brasil.html

    Yo le mandé el parche a Thierry Godefroy, pero es como si al loco se lo hubiera tragado la tierra, porque nunca respondió ni aplicó el parche ni nada.

  2. criadoindomable escribió

    Muchas gracias. Muy buena data Nomius :D

  3. [...] Desarrollar shell script con Dialog y Xdialog diciembre, 2006 2 comentários [...]

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: