the - Haga una “GUI” de Linux en la línea de comando
shell it (10)
¿Cómo crear un programa Linux en la interfaz de línea de comandos que muestre una interfaz de usuario agradable?
Por ejemplo, cuando uso "wget" para descargar un archivo de Internet, puedo ver el avance de la descarga en la interfaz de línea de comandos. ¿Cómo puedo hacer eso?
Echa un vistazo a las curses . Es una biblioteca para la interfaz de usuario basada en texto.
Prueba los curses, es una API bien documentada para la IU basada en texto. Además, hay muchos proyectos de código abierto que utilizan curses para que veas y aprendas
Puedes usar los códigos de escape ANSI. Un ejemplo simple en bash
echo -e "/033[H/033[2J /033[20;20H /033[4mThis is a underlined line./033[0m"
Si desea realizar una GUI para los scripts de Bash o para envolver alrededor de otras utilidades de línea de comandos, puede usar el dialog ( página de manual ).
Aquí dos grandes tutoriales de diálogo para comenzar:
Si estás usando Mono, podrías usar here
Si solo necesita una barra de progreso, esto se puede hacer directamente con una print
simple (que imprime la barra), seguido del carácter de retorno de carro (carácter ANSI # 13), que lo regresa al principio de la línea. La línea puede ser actualizada posteriormente imprimiendo sobre ella.
Para necesidades más complicadas, ncurses
es, de hecho, el camino estándar a seguir.
wget realmente no tiene una GUI, todo lo que veo son cosas que ya puedes lograr usando stdout y echos (por ejemplo, printf () o std :: cout)
De todos modos, para cuadros de diálogo simples del tipo MessageBox, pero sin limitarse a eso, también vea el diálogo
ncurses es una opción popular, existen API para muchos lenguajes de programación.