
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."