各作業ディレクトリの履歴を保持します(各シェルセッションを参照)。

各作業ディレクトリの履歴を保持します(各シェルセッションを参照)。

最新のシェルの履歴機能をパス範囲に制限する方法はありますか?

私のタスクコンテキストはファイルシステムへのパスに分割され、シェルアクティビティパターン(たとえば、繰り返し実行されるコマンド)は各「プロジェクト」ごとに異なる傾向があります。履歴機能の範囲を現在のパス(またはサブパス)で実行されているコマンドに制限できればよいでしょう。

ベストアンサー1

これは簡潔な答えではありませんが、シェルとして使用する場合はオプションがありますbash。でこれを行うことができます.bashrc

たとえば、

alias a='cd /tmp/A ; history -w ; history -c ; export HISTFILE=/home/user/.a_history ; history -r $HISTFILE'
alias b='cd /tmp/B ; history -w ; history -c ; export HISTFILE=/home/user/.b_history ; history -r $HISTFILE'

次に、次のように入力しますa

  1. プロジェクトディレクトリに移動します
  2. 現在の履歴が保存されます(history -w
  3. これにより、メモリに保存されている履歴が初期化されます(history -c)。
  4. プロジェクト履歴ファイルはに設定されて/home/user/.a_history読み込まれますhistory -r

おすすめ記事