向上箭头不显示来自可执行脚本的Octave历史命令

时间:2017-02-26 22:13:56

标签: input octave readline

如果我运行$octave -q --no-gui,按向上箭头将显示过去的命令。现在,执行此脚本时

#!/usr/bin/octave -q

a = input(">> ", "s");

它会提示输入,但按向上箭头时会显示字符^[[A。这适用于版本4.0.0,但在旧版本(如3.2.4)中,向上箭头在可执行脚本中运行正常,显示历史文件中的命令,就像其他提示一样。我已经检查过并且两次运行都在寻找相同的历史文件,所以可能是输入的方式。

在编程环境中真的需要这个功能,欢迎任何帮助。

更新:Octave初始化的这些选项可能是相关的:

--line-editing          Force readline use for command-line editing.
--no-line-editing       Don't use readline for command-line editing.

因为$octave -q --no-gui --no-line-editing产生相同的脚本结果(即没有历史记录,只有^[[A)。那么,现在的问题是如何使用--line-editing选项从脚本启动Octave,就像添加一样,它将失败:

/usr/lib/x86_64-linux-gnu/octave/4.0.0/exec/x86_64-pc-linux-gnu/octave-gui: invalid option -- ' '

1 个答案:

答案 0 :(得分:1)

如果脚本在没有-q选项的情况下启动,那么它允许长选项,所以只需创建如下脚本:

#!/usr/bin/octave --line-editing

它工作正常,现在历史出现了。