Что такое интерактивный терминал, в который вас вводят некоторые программы / команды? - PullRequest
1 голос
/ 22 декабря 2019

Я создал новую ветку в git и, используя git branch, я попадаю в это интерактивное окно с (END) в конце (см. Рисунок) . Это программа типа less или more? enter image description here

Я хотел бы распечатать содержимое этой программы в реальной командной строке, а не в этом интерактивном приложении. Я знаю, что это не stdin, stdout или stderr.

PS: я уверен, что ответ уже есть, но я не могу сформулировать вопрос, чтобы получить ответы.

1 Ответ

3 голосов
/ 22 декабря 2019

Это пейджер , вероятно less, судя по всему. Он отключается от оболочки, отправляя строку «инициализация терминала» на терминал, а затем выводит ее туда.

Чтобы сделать ее встроенной, вы можете пропустить пейджер:

git --no-pager branch

или использоватьпеременная окружения LESS (по крайней мере в Linux - не уверена в Mac):

LESS=FRX git branch

Где F = выход, если выходные данные помещаются на одном экране, R = цвета печати и X = не отправлять строку инициализации терминала.


Чтобы Git всегда пропускал пейджер для branch, используйте это:

git config --global pager.branch false

Источник


Я задал связанный вопрос по Ask Ubuntu, и вы можете найти там более полезную информацию: Как «less» переключается на текст, затем обратнона подсказку?

...