Linux端末でセッションコマンド履歴の場所を取得したいです。セッションが閉じたときにのみ更新されるため、.bash_historyを探していません。実際にはセッションを閉じずにセッション内でコマンドを実行したいと思います。
基本的に、私はこれらのコマンドをプログラムでインポートして処理したいと思います。これを行うためにプログラムで呼び出すことができるいくつかのツールがありますが、それを使用できます。
答え1
次の行を追加すると、すべてのセッション~/.bashrc
のすべてのコマンドが作成されます~/.bash_history
。
shopt -s histappend
export PROMPT_COMMAND='history -a'
...また、セッションが互いの記録を上書きするのを防ぎます。
答え2
特にBashの場合は、次のものが利用可能でなければなりません。および組み込みfc
機能history
現在のシェルの履歴リストおよび/またはジョブ履歴ファイルにアクセスします。特に、1つのセッションに複数の同時セッションと複数のシェルがある可能性がありますが、ユーザーごとに1つの履歴ファイルしかないため、これはまったく同じではありません。もちろん、必要な特定のコマンドfc
は、history
正確に実行したい操作によって異なります。