"bc"コマンドライン履歴を保存できますか?

bash.bash_historyコマンド履歴が保存され、bash次にコマンドを実行するときに保存されたコマンドで履歴がいっぱいになる便利なファイルがあります。

bc同じ方法でコマンド履歴をファイルに保存し、起動時にロードして履歴を保存することはできますか?

読もうとするGNU BCマニュアルreadlineと言及していますlibeditldd /usr/bin/bc私の用途readlinereadline所有物を見るとwrite_historyそしてread_history機能。この機能はすでに実装されていますかbc?それともパッチが必要ですかbc

ベストアンサー1

プログラムに組み込まれているコマンドライン編集機能が満足できない場合は、次のものを使用できます。巻き戻す。これはコマンドラインプロセッサです(aREPL)、送信する前に各行を編集できます。 Rlwrap は readline ライブラリを使用し、各コマンドごとに別々の履歴を保存します。

rlwrapは、ユーザーが直接コマンドライン編集を実行したいことを検出し、rlwrapが自動的に閉じるため、実行してもrlwrap bc何もしません。bc基本コマンドの機能ではなく、rlwrapのコマンドライン編集機能が実際に必要なので、以下を実行してください。

rlwrap -a bc

コマンド履歴はに保存されます~/.bc_history

プログラム自体のreadline統合を使用するのではなく、rlwrapに依存する主な欠点は、rlwrapが状況に応じた完了操作を実行できないことです。たとえば、python最上位レベルでは既知の変数とフィールドが完成しますが、rlwrap pythonそうすることはできません。 bcにはカスタム補完機能がないようで、rlwrap -a bcbcの機能は失われません。

おすすめ記事