【问题标题】:Why can't I use "more" command in Git Bash? [closed]为什么我不能在 Git Bash 中使用“更多”命令? [关闭]
【发布时间】:2020-12-25 11:22:56
【问题描述】:

“less”命令可以正常工作。

我可以使用“less”在屏幕上显示部分文件。

据说有一个“更多”命令,但是当我输入它时,它显示“bash: more: command not found.”

【问题讨论】:

  • 因为 git-bash 中没有安装 more。您可以运行which less 来检查less 的安装位置。
  • Git bash 不是 unix。它不包含 Unix 程序。虽然我很确定越来越少是同一个程序的同义词
  • @ocras_ren :您可以从 git-bash 切换到 Cygwin,或使用 WSL。然后你有更多可用的,虽然我不明白你为什么想要这个而不是less

标签: git-bash less-unix


【解决方案1】:

您可以从 Windows 中获得更多好处:

alias more=/proc/cygdrive/c/Windows/System32/more.com

(这并不意味着 Cygwin:与 Git For Windows 打包的 git bash 基于 MSys2,Cygwin 的精简版本,与 Cygwin 的源代码保持同步)

这会奏效:

cat large_file | more

bash 替代方案:

alias more="less -de"

as commented:为--dumb 添加-d 和为-e--quit-at-eof 使此别名在默认情况下关闭)

在这两种情况下,您都可以在 %USERPROFILE%/.bashrc 中添加该别名。

另请参阅“In git bash how to increase less's screen width?”以了解 less.exe 在该 Windows 上下文中的含义。

原因是 Git for Windows 使用一个版本的 less,它依赖于 MSYS2 运行时与伪终端交互(通常在 MinTTY 窗口中,它也知道 MSYS2 运行时)。

【讨论】:

  • 请修正您的第一个别名。它假定 OP 已安装 Cygwin,但如果他真的安装了,他将拥有 Gnu more(因为它包含在 Cygwin 发行版中)。
  • 我认为如果你想让less 的行为与more 非常相似,别名应该是alias more="less -de"
  • 我自己没有安装 cygwin,只是来自 git for windows 的常规 git bash。所以没有什么可以修复的。它确实有效。没有cygwin。
  • @user1934428 有关基于 MSYS2 的 git bash 的更多信息,对于 Cygwin,请参阅 stackoverflow.com/a/3144417/6309stackoverflow.com/a/35099458/6309
  • @user1934428 是的,这些答案是我几年前写的,所以看到/proc/cygdrive/c 并没有引起我的任何担忧。
猜你喜欢
  • 2017-07-19
  • 1970-01-01
  • 2017-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-20
  • 2020-10-27
  • 1970-01-01
相关资源
最近更新 更多