Изменить размер терминала BASH скриптом бывает нужно для того чтобы Desktop приложение правильно отрабатывало и отображалось на экране пользователя. Задать необходимый размер можно в качестве условия продолжения программы.
Изменяем размер терминала одной командой в bash
Сделать это можно следующей командой:
resize -s 20 80
Параметры задаются в количестве строк и столбцов. Первое значение относится к высоте терминала, второе к его ширине.
resize -s будет гарантировано корректно работать на рабочих станциях, использующих графическую оболочку GNOME. При использовании других сред рабочего стола положительный результат не гарантирован.
Варьируя значения параметров можно изменять размер терминала в режиме реального времени.
При выполнении команды определяется значение переменных, затем они экспортируются.
Если на рабочей станции пользователя используется какая-либо другая среда рабочего стола — можно обойтись без использования resize -s, а непосредственно передавать необходимые значения переменных, затем экспортируя их.
Код скрипта при этом становится несколько объёмнее, однако никаких трудностей при его написании также возникнуть не должно.
Как узнать текущий размер терминала
В системе хранится ряд определенных переменных, посмотреть их все можно введя в консоли символ $
Среди них будут переменные
$COLUMNS
$LINES
Именно в них задаются значения ширины и высоты окна терминала, и именно значения этих переменных переопределяются командой resize -s.
Значения параметров можно вывести следующим образом
echo $COLUMNS
echo $LINES
или
echo $COLUMNS X $LINES
Размер рядов и колонок неодинаков, поэтому ввод одинаковых численных значений квадратного терминала не даст.
Использоваться данные переменные могут в выражениях if; then в скриптах в тех случаях когда важно получить размер терминала, не меньше определенного размера для того чтобы информация отображалась корректно.
Рационально установить минимальный размер терминала пользователя при котором информация отображается верно в качестве необходимого условия выполнения программы, в противном случае можно либо принудительно изменять размер терминала либо выдавать предупреждение и рекомендацию сделать это самостоятельно.
Основное применение изменения размера терминала — пользовательские интерфейсы, любой из них представляет собой скрипт и определенный алгоритм, и используется функции и операторы (такие как case).