履歴のタイムスタンプを設定しようとしています。私の最初の試みはdoexport EXTENDED_HISTORY=ON
コマンドでしたが、うまくいかなかったようです。その後、echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc
コマンドを実行して動作しました。
タイムスタンプを有効にしてから再読み込みする. /etc/bash.bashrc
と、history
タイムスタンプとともにマイ履歴が表示されます。
しかし、私が気づいた奇妙なことは、記録がタイムスタンプをアクティブにする前にどのように保存することです。
私の記録の最初の部分では、すべてのコマンドのタイムスタンプは20:43:04です。
コマンド619から始まる2番目の部分では、これらのコマンドはすべて独自のタイムスタンプを保存します。しかし、今は履歴タイムスタンプを有効にしていません。。
代わりに、コマンド694で履歴タイムスタンプを有効にします。
私の$ HISTSIZEはずっと前に設定されており、1000行です。私はKonsole 2.10.5端末とUbuntu 13.04を使用しています。
キャッシュがKonsoleまたはbashの機能であるかどうかはわかりません。
私の質問は、方法と場所です。歴史'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc` を実行する前にタイムスタンプを保存しますか?
以前の履歴タイムスタンプがすべて保存されていないという点で制限されているようです(つまり、1〜618コマンドは同じタイムスタンプを共有します)。それはおそらく、コマンド619がこのKonsoleタブセッションの最初のコマンドだったからです。覚えていません。
答え1
Bashは常にタイムスタンプを記憶し、変数は記録されたHISTTIMEFORMAT
内容のみを決定します~/.bash_history
。したがって、bashが履歴ファイルから読み取るコマンドの場合、そのコマンドが作成されたタイムスタンプだけを知っていますが、常に「自分の」タイムスタンプを知っています。