これは間違った方法です。入力したすべてのコマンドをログに記録しますか?既にデフォルトでは、すべてのセッションの最後の256kの重複除外エントリが保持されますので、実際には何もする必要はありません。
あなたはPROMPT_COMMAND相当を望んでいた場合は、よく、(既にカスタマイズされている)fish_prompt
機能がありますプロンプトを表示するために、そして何か他のものにプロンプトがリスナーを定義することができますfish_prompt
イベントが、あります表示されるすべての時間を行うためにあなたには、いくつかの他のファイルにあなたが実行し、すべてのログを記録したい場合などの
function name --on-event fish_prompt
# do stuff
end
ため、fish_preexec
イベントはとても
function log_commands --on-event fish_preexec
# fish_preexec functions receive the commandline as the argument (see `function --help`)
echo $argv >> ~/fish.log
end
が働くだろう、があります。
これを拡張するために、魚はすでにあなたの履歴全体を記録しており、 'history'を使ってそれにアクセスすることができます。魚は複数のセッションを単一の履歴ファイルにマージします。これはbash履歴の主な制限です。 –
回答をいただきありがとうございました。すべてのコマンド(重複を含む)をロギングする目的は、記事で述べたようなソートの監査を行い、 'fish_history'を置き換えないことです。 – neowulf33