如果我运行$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 -- ' '
答案 0 :(得分:1)
如果脚本在没有-q
选项的情况下启动,那么它允许长选项,所以只需创建如下脚本:
#!/usr/bin/octave --line-editing
它工作正常,现在历史出现了。