为什么Ruby的ri命令不会返回到bash命令提示符?

3
当我在我的Mac终端上执行ri ...时,我可能会得到50个空行,然后是我期望的输出,最后一行是:

(END)

,其中(END)以白色字体显示在黑色背景上。然而,我没有返回bash -- ri仍在运行,我无法输入任何内容。此外,为什么有这么多空行?

为什么会发生这种情况?

2个回答

5

输出正在通过一个分页程序进行处理(环境变量$PAGER的值,可能是/usr/bin/more/usr/bin/less)。这使得您可以通过按空格键(和其他一些不错的功能)翻页查看数据的屏幕内容,而无需在终端上上下滚动。要退出,只需键入q


通常在输出之前不会有这么多空行,所以我无法解释 -- 可能是 shell 或分页程序的配置问题。 - mipadi

2

分页幽灵?也许你会发现完全绕过默认的分页器是一个有用的事情。我经常这样做。尝试将以下代码放入您的~/.bashrc文件中,并重新启动终端会话(当然,如果您不喜欢重读man页面或不记得命令参数,可以删除我的注释):

alias ri='/usr/local/bin/ri -T'   # -T == --no-pager ... Send output directly to stdout, rather than to a pager. Pagers are damned annoying when the info you need disappears when you still need to see it ...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接