将程序通过管道传输到 less

cod*_*ave 6 bash stderr less pipe stdout

我正在深入设置和学习 git,同时学习 bash。我正在尝试做一些简单的事情,如查看帮助部分

$ git config
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我输入帮助时,帮助的输出会从屏幕上消失。做一些谷歌搜索,我发现我想用来滚动的程序较少。

我试过

$ git config | less
Run Code Online (Sandbox Code Playgroud)

没有成功。有任何想法吗?谢谢!

小智 12

Git 可能正在将其输出写入标准错误流而不是标准输出流,因为命令参数不正确。请在此处阅读有关 Unix 标准流的信息

要解决此问题,您必须像这样将错误流重定向到输出流:

git config 2>&1 | less


Ign*_*ams 5

管道只重定向标准输出。如果您还需要 stderr,则需要先将其重定向到 stdout。

git config 2>&1 | less
Run Code Online (Sandbox Code Playgroud)