【问题标题】:What is the interactive terminal that some programs/ commands bring you into?某些程序/命令带您进入的交互式终端是什么?
【发布时间】:2019-12-21 23:05:07
【问题描述】:

我在 git 上创建了一个新分支,并使用git branch,我进入了这个交互式窗口,最后是(END)(见图)。这是像less 或more 这样的程序吗?

我想将这个程序的内容打印到实际的命令行上,而不是这个交互式应用程序。我知道它不是标准输入、标准输出或标准错误。

PS:我确信已经有答案了,但我似乎无法说出问题来获得答案。

【问题讨论】:

  • 该屏幕截图看起来像是 VSCode 内置终端(基于顶部的选项卡选择) - 您是否在编辑器中运行 git branch?
  • 我从 vscode 的集成终端(在 mac 上)运行它,所以它仍然是 z-shell。我已经在普通终端窗口和不同的操作系统(Ubuntu)上尝试过,它做同样的事情。
  • 这似乎是 Visual Studio 的东西,而不是命令行 Git 的东西 - 但可能是 VS 正在运行命令行 Git,它将其输出发送到寻呼机。 如果是这种情况,您或许可以在 Git 中控制寻呼机。
  • 它看起来像less。尝试按键盘上的字母h,如果您被定向到help 屏幕,那么您知道它是less。 producer_program | less 之类的东西?但我无能为力。祝你好运。
  • @shellter git 通常在需要寻呼机时自动调用less,在需要编辑器时自动调用vim。两者都可以配置,它们只是默认设置。

标签: git unix zsh


【解决方案1】:

这是一个寻呼机,看起来可能是less。它通过向终端发送“终端初始化”字符串来从 shell 切换,然后在那里输出。

要使其内联打印,您可以跳过寻呼机:

git --no-pager branch

或使用 LESS 环境变量(至少在 Linux 上 - 不确定 Mac):

LESS=FRX git branch

其中F = 如果输出适合一个屏幕则退出,R = 打印颜色,X = 不发送终端初始化字符串。


要使 Git 始终跳过 branch 的寻呼机,请使用以下命令:

git config --global pager.branch false

Source


我在 Ask Ubuntu 上问了一个相关问题,您可能会在那里找到更多有用的信息:How does "less" switch to the text, then back to the prompt?

【讨论】:

    猜你喜欢
    • 2015-01-11
    • 2013-04-08
    • 1970-01-01
    • 2019-07-25
    • 2013-12-28
    • 2018-06-09
    • 2013-01-19
    • 2021-09-17
    • 2021-11-25
    相关资源
    最近更新 更多