altura e largura de uma janela de terminal?

altura e largura de uma janela de terminal?

Como posso descobrir o número máximo de linhas e colunas de caracteres em uma janela de terminal bash aberta?

Eu sei que posso descobrir usando a biblioteca C de maldições assim:

getmaxyx(stdscr, mrow, mcol);

Gostaria de associar as variáveis ​​bash mrow e mrol à minha sessão bash da mesma maneira.

Responder1

O Bash já possui as variáveis ​​que você procura: $LINES e $COLUMNS.

Infelizmente, eles funcionam apenas em shells interativos e geralmente não para scripts, mas é possível definir o script para ser interativo adicionando uma opção à linha shebang do script:

#!/bin/bash -eu

Responder2

O Xterm vem com uma ferramenta chamada resize, que pode ser usada dentro de scripts para definir as mesmas variáveis:

eval $(resize)
echo "The screen is $COLUMNS columns wide."

informação relacionada