如果我运行$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 -- ' '发布于 2017-02-27 07:31:27
如果脚本在没有-q选项的情况下启动,那么它允许长选项,所以只需像这样创建脚本:
#!/usr/bin/octave --line-editing它工作得很好,现在历史显示出来了。
https://stackoverflow.com/questions/42474871
复制相似问题