bashの記録設定を台無しにしようと少し心配です。独自のカスタムbashレコードを作成したいと思います。私は次のbash機能を使用することを考えました。
bash(){
# write to a custom history file manually
echo "$@" >> $HOME/my_bash_history
command bash "$@"
}
export -f bash;
しかし、それはまったく機能しません。何が起こると、それが引き継がれ、command bash
もはやbash機能を経なくなります。すべてがカスタムファイルに書き込まれるように、このbash機能を実行するにはbashのすべての標準入力が必要です。これを行う方法を知っている人はいますか?
ベストアンサー1
必要なのは、DEBUG
トラップ(すべてのコマンドの前に実行)またはトラップPROMPT_COMMAND
(すべてのプロンプトの前に実行)です。
トラップはあなたの試みに近いです。基本的な概念は、次のトピックで説明されています。bashには、コマンドを実行する前に実行されるフックがありますか?完全なターンキーバージョンが存在します。bash プリラン。
著者によると、bash-preexecの目的は次のとおりです。バッシュハーブ「クラウドのbash履歴」を提供するので、「ファイルのbash履歴」を実行できると確信しています。