我有一个程序,只有二进制文件(编辑:来源也可用,但问题仍然存在):适当的函数式编程语言解释器米兰达。它在终端中从命令行激活,然后重复从命令行读取输入行并将输出写入终端。不幸的是,我无法在输入行上自由地前后移动(使用箭头键或其他方式)来编辑新的输入行,也无法浏览以前输入行的历史记录。只有退格键按预期工作。当我使用箭头键、上翻页/下翻页键或 Control+ 组合键时,会显示它们的代码,而不是建立它们的预期效果。我的问题是:我该怎么做才能(在与 Miranda 互动期间)使用箭头键浏览输入行以及以前输入的历史记录?
目前我使用 Gnome-terminal、bash、Ubuntu 16.4,但该问题自 1986 年以来一直存在于我系统的所有先前版本以及正确的 Unix 中。
答案1
回复可能有点晚,但还是回复了。
- 安装
rlwrap
:$ sudo apt install rlwrap -y
- 在你的或默认的 shell 等效函数中创建一个
mira
函数,并将其包装到:~/.bashrc
rlwrap
function mira() {
rlwrap mira $1
}
- 重新启动终端或运行
$ source ~/.bashrc
。
这足以正确启用导航。