bash履歴が追加されますが、histappendはオフです


8

私はubuntu 10.4を使っていて、私のシェルはbashです。複数のgnome端末を開いて閉じると、履歴が適切に追加されます。私が入るとき、shoptそれはとりわけ:

histappend      off

追加動作が設定されている場所を誰かに教えてもらえますか?


1
ubuntu-10.10はまだリリースされていないため、「ubuntu-10.04-lts」のタグを再設定します。ミーアキャットという名前が付けられていると聞きました。
いんちきキホーテ

1
ところで、Lucidの私のbashシェルはすべてhistappendをそのまま表示ます...まだ微調整はありません... すでにbash構成を微調整しましたか?
いんちきキホーテ

@quack:ありがとう、いつものように私は自分の時間よりも進んでいます;-)
Ludwig Weinzierl

@quack:私はこのインストールを数回アップグレードしたので、100%確実ではありません。私にとって、histappendがオンかオフかは関係ありません。履歴は常に追加されます。私が本当に気になるのは、なぜこれが起こるのですか?もしあなたがshopt -u histappendを実行して、それがまだあなたのインストールに追加されているかどうか私に言うことができたら、それは洞察に満ちていますか?
Ludwig Weinzierl

回答:


1

histappendこれを制御することを期待する設定です。これらはログインシェルではないため、/etc/bash.bash.logoutまたはで発生するものではありません~/.bash_logout。と入力して、トラップが設定されているかどうかを確認しますtrap -p。またecho $PROMPT_COMMAND、何かが起こっているかどうかを確認します。


echo $ PROMPT_COMMANDはecho -ne "\ 033] 0; $ {USER} @ $ {HOSTNAME}:$ {PWD / $ HOME /〜} \ 007"を返します。trap -pは何も返しません。/etc/bash.logoutがなく、〜/ .bash_logoutに履歴が何も含まれていません。
Ludwig Weinzierl

1

bash履歴をできるだけ追加しようとします。ではhistappend上、あなたは歴史を付加し、常に保証されます。オフになっている場合でもEnter、対話型bashセッションでコマンドを実行するまで、履歴は追加されます> HISTSIZE。これが発生すると、履歴が上書きされます。

履歴を明示的に上書きする場合history -wは、in .bash_logoutまたはexitトラップを使用できます。

この回答では、bash履歴の追加がどのように機能するかについて詳しく説明しました。


-1

私は自分のサイトでhistappendを設定することについて簡単なヒントを書きましたが、あなたの質問に答えるために、ここで投稿を言い換えます。

shoptを使用して、histappendを「オン」に構成できるはずです。

実行を有効にするには

shopt -s histappend

実行を無効にするには

shopt -u histappend

それは役に立ちますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.