Я пишу скрипт, который показывает журнал git для каталога, когда я перехожу в него. Такой журнал может быть огромным, содержать сотни строк. До сих пор я ограничивал это жестко закодированными 20 строками ( ... | head -n 20
), что хорошо на экране при работе, но слишком много на меньшем экране MacBook дома.
Я бы предпочел, чтобы журнал занимал примерно половину (вертикального) экрана на любом терминале. И «терминал» тоже меняется: это терминал Gnome на работе, а iTerm2 дома. И я не использую screen или tmux.
Как узнать количество вертикальных линий, доступных в терминале из командной строки?
LINES
иCOLUMNS
установлены только некоторыми снарядами.bash
устанавливает их, но только для интерактивной оболочки (и не экспортирует их).