シェル履歴に特定のコマンドを「固定」する方法はありますか?
残りの履歴と同様に、Ctrl + Rを使用して検索できるお気に入りのコマンドを保存したいのですが、期限切れにしてはいけません。
ベストアンサー1
簡単なアプローチは、シェルのスタートアップファイルにコードを入れて追加の履歴ファイルを読み込み、粘着性のある行を忘れないように十分な履歴行をメモリに保存することです。
強く打つ
存在する~/.bashrc
:
history -r ~/.bash_history.sticky
HISTSIZE
また、少なくともHISTFILESIZE
行数~/.bash_history.sticky
と長いセッションで実行されるコマンドの数を追加する必要があります。
HISTFILESIZE=1000
HISTSIZE=10000
固定記録項目がメモリーに保持され、値が大きすぎないようにするには、HISTSIZE
記録を手動でクリーンアップして実行できますPROMPT_COMMAND
。history -d
erasedups
HISTCONTROL
扱いにくい
存在する~/.zshrc
:
fc -RI ~/.zsh_history.sticky
HISTSIZE
また、少なくともSAVEHIST
行数~/.zsh_history.sticky
と長いセッションで実行されるコマンドの数を追加する必要があります。
SAVEHIST=1000
HISTSIZE=10000
大きな問題なしに固定履歴エントリをメモリに保存するには、一時ファイルに書き込んで編集したバージョンを再読み込みする必要があるため、手動で履歴をトリミングすることでこれを行うHISTSIZE
ことができます。またはオプションを設定します。precmd
fc -W
hist_ignore_dups
hist_ignore_all_dups