
¿Cómo puedo saber el número máximo de filas y columnas de caracteres en una ventana de terminal bash abierta?
Sé que puedo averiguarlo usando la biblioteca C de curses de esta manera:
getmaxyx(stdscr, mrow, mcol);
Me gustaría asociar las variables bash mrow y mrol a mi sesión bash de la misma manera.
Respuesta1
Bash ya tiene integradas las variables que busca: $LINES y $COLUMNS.
Desafortunadamente, estos solo funcionan en shells interactivos y generalmente no para scripts, pero es posible configurar el script para que sea interactivo agregando un interruptor a la línea shebang del script:
#!/bin/bash -i
Respuesta2
Xterm viene con una herramienta llamada resize
, que se puede usar dentro de scripts para configurar las mismas variables:
eval $(resize)
echo "The screen is $COLUMNS columns wide."