ファイル履歴コマンド履歴を変更しますか?

ファイル履歴コマンド履歴を変更しますか?

Linuxでは、環境変数を使用してコマンド履歴を別のファイルに送信できますか?

私が尋ねる理由は、後で参照できるようにシェルセッションを別のファイルに書き込むことに興味があるからです。

auditdなどを使用できることはわかっていますが、セッションを記録するには設定する必要があります。

答え1

私は最近Ask Ubuntuで非常によく似た質問に答えました。 https://askubuntu.com/questions/1175757/how-can-i-save-a-part-of-command-lines-into-a-new-file-using-history-command/1175763#1175763

-aファイル名と一緒に使用する必要があります。説明したようにhelp history

履歴:履歴[-c] [-dオフセット] [n]または履歴-anrw [ファイル名]または履歴-ps arg [arg...]

(...)

-aこのセッションの履歴行を履歴ファイルに追加します。

後で:

FILENAME を指定すると、履歴ファイルとして使用されます。それ以外の場合は$ HISTFILEに値がある場合はその値が使用され、そうでない場合は〜/ .bash_historyが使用されます。

たとえば、新しいセッションを開始して次のように入力します(これは$ヒントであり、システムによって異なる可能性があります)。

$ echo a-new-session started at $(date)
$ history -a /tmp/new-history

この場合、/tmp/new-history次のようになります。

echo a-new-session started at $(date)
history -a /tmp/new-history

関連情報