Как получить функцию оболочки для вывода линейки шириной окна терминала.

ruler() { for s in '....^....|' '1234567890'; do w=${#s}; str=''; for (( i=1; i<=(COLUMNS + w) / $w; i=i+1 )); do str+=$s; done; str=${str:0:COLUMNS} ; echo $str; done; }


Эта функция ruler() создает линейку шириной, соответствующей окну терминала. Она выводит строку символов, состоящую из точек, каретки, вертикальной черты и цифр. Цель функции — визуально отобразить ширину окна терминала.

Альтернативой этой функции может быть использование встроенных команд терминала, таких как tput, чтобы получить информацию о размере окна и затем выводить линейку в соответствии с этими значениями.

Функция ruler() не принимает аргументы. Она использует переменную COLUMNS, которая уже установлена в окружении терминала и представляет ширину текущего окна.

Пример использования:
$ ruler()
....^....|....^....

$ ruler()
12345678901234567890

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *