Рассмотрим следующее:
[email protected]:~$ cat a.sh
#!/bin/bash
echo "Lines: " $LINES
echo "Columns: " $COLUMNS
[email protected]:~$ ./a.sh
Lines:
Columns:
[email protected]:~$ echo "Lines: " $LINES
Lines: 52
[email protected]:~$ echo "Columns: " $COLUMNS
Columns: 157
[email protected]:~$
Переменные $LINES
и $COLUMNS
являются переменными оболочки, не переменными окружения и, следовательно, не экспортируются в дочерний процесс (но они автоматически обновляются, когда я изменяю размер окна xterm, даже при входе в систему через ssh из удаленного места). Есть ли способ, позволяющий моему script узнать текущий размер терминала?
EDIT:
Мне нужно это в качестве решения этой проблемы: vi (а также vim, less и подобные команды) каждый раз испортит экран каждый раз, когда я его использую. Изменение терминала не является вариантом, и поэтому я ищу обходные пути (прокрутка вниз $LINES
строк, безусловно, не идеальное решение, но по крайней мере лучше, чем потерять предыдущий экран)