bash
有一个方便的文件.bash_history
,它保存命令的历史记录,并且在下次执行bash
历史记录时填充保存的命令。
是否可以以bc
相同的方式将命令历史记录保存到文件中,然后在启动时加载它以便保留 bc 历史记录?
我尝试阅读GNU bc 手册,它提到了readline
和libedit
。从ldd /usr/bin/bc
我看到我的使用readline
,并readline
具有write_history
和read_history
功能。这个功能是在里面实现的bc
还是我需要修补的bc
?
Gil*_*il' 18
如果您对程序内置的命令行编辑功能不满意,可以通过rlwrap运行它。这是一个命令行处理器(一个REPL)的包装器,它允许您在发送之前编辑每一行。Rlwrap 使用 readline 库并为每个命令单独保存历史记录。
运行rlwrap bc
不会为您做任何事情,因为 rlwrap 检测到您bc
想要进行自己的命令行编辑,因此 rlwrap 会自行关闭。由于您确实需要 rlwrap 的命令行编辑功能而不是底层命令的,请运行
rlwrap -a bc
Run Code Online (Sandbox Code Playgroud)
命令历史将保存在~/.bc_history
.
依赖 rlwrap 而不是使用程序自己的 readline 集成的主要缺点是 rlwrap 不能执行任何上下文相关的完成。例如,python
顶层完成已知变量和字段,但rlwrap python
不能这样做。由于 bc 似乎没有任何自定义完成,因此rlwrap -a bc
不会失去 bc 的功能。
归档时间: |
|
查看次数: |
565 次 |
最近记录: |