Gnu
是否可以保存“bc”命令行歷史記錄?
bash
有一個方便的文件.bash_history
,它保存命令的歷史記錄,並且在下次執行bash
歷史記錄時會填充保存的命令。是否可以以
bc
相同的方式將命令歷史記錄保存到文件中,然後在啟動時載入它以保留 bc 歷史記錄?我嘗試閱讀GNU bc 手冊,其中提到
readline
和libedit
. 從ldd /usr/bin/bc
我看到我的用途readline
和readline
功能。這個功能是實現還是我需要修補?write_history
read_history``bc``bc
如果您對程序中內置的命令行編輯功能不滿意,可以通過rlwrap執行它。這是一個圍繞命令行處理器(REPL)的包裝器,可讓您在發送每一行之前對其進行編輯。Rlwrap 使用 readline 庫並為每個命令分別保存歷史記錄。
執行
rlwrap bc
不會為您做任何事情,因為 rlwrap 檢測到您bc
想要進行自己的命令行編輯,因此 rlwrap 會自行關閉。由於您確實需要 rlwrap 的命令行編輯功能而不是底層命令,因此請執行rlwrap -a bc
命令歷史記錄將保存在
~/.bc_history
.依賴 rlwrap 而不是使用程序自己的 readline 集成的主要缺點是 rlwrap 不能做任何上下文相關的完成。例如,
python
頂層完成已知變數和欄位,但rlwrap python
不能這樣做。由於 bc 似乎沒有任何自定義完成,rlwrap -a bc
因此不會失去 bc 的功能。