如何在gdb和octave下停止控制台在输出期间提示用户?

时间:2012-09-30 23:45:49

标签: bash console gdb octave

我正在使用Kubuntu及其Konsole终端。我使用来自控制台的不同应用程序(如gdb或octave)有令人讨厌的行为。问题是:程序输出一个文本屏幕而不是停止,提示我双冒号并等待我按任意键,以便它可以继续输出。因此,如果输出很大(例如,在八度音程中打印一些值的10000次迭代),我必须多次单击Enter,直到我到达输出的末尾。我想不要提示。我不知道这是由于bash,Konsole应用程序还是有问题的程序(例如gdb或octave)。

5 个答案:

答案 0 :(得分:2)

对于GNU Octave的特定情况,您可以通过在Octave提示符下运行more off来关闭此行为。您可能希望将该行添加到.octaverc文件中。

答案 1 :(得分:1)

如果您需要自动重复输入,那么yes就是您的解决方案:

$ yes | any_app_waiting_input

作为默认行为,是打印“y”。如果您还需要其他内容,可以将参数设置为yes,例如换行符:yes ""

答案 2 :(得分:1)

与Jantio的答案类似,您可以使用cat作为寻呼机,方法是设置PAGER环境变量:

对于所有命令:

export PAGER=cat

对于单个命令:

PAGER=cat git log

答案 3 :(得分:1)

对于GDB,您可以使用“设置分页”来更改此行为。见GDB Manual: Screen Size。当我使用GDB时,我倾向于经常打开和关闭分页。

答案 4 :(得分:0)

我认为输出是通过寻呼机呈现的(即可能是lessmore)。

绕过此方法的一种简单方法是使用cat重定向输出:

my_command | cat

希望这有助于=)