空白で始まるコマンドがbash履歴に表示されないのはなぜですか? [コピー]

空白で始まるコマンドがbash履歴に表示されないのはなぜですか? [コピー]

BashでCtrl-Rを使用して前のコマンドを検索すると、コマンドが空白で始まると機能しないのはなぜですか?前のコマンドと一致させることはできますか?

$  date
Fri Nov 23 ... 2018
(failed reverse-i-search)` date': cd database/

ベストアンサー1

環境変数の値を確認してくださいHISTCONTROL。値にignorespaceまたはが含まれている場合、スペースでignoreboth始まるコマンドはコマンド履歴に追加されません。

からman bash

HISTControl:コマンドが履歴リストにどのように格納されるかを制御するコロンで区切られた値のリスト。値のリストに空白の無視が含まれている場合、空白文字で始まる行は履歴リストに保存されません。無視された値のため、前の履歴エントリと一致する行は保存されません。 ignorebothの値はignorespaceとignoredupsの略です。削除された値を使用すると、現在の行と一致するすべての前の行が行を保存する前に履歴リストから削除されます。上記のリストにない値は無視されます。 HISTControl が設定されていない場合、または有効な値が含まれていない場合、シェルパーサーによって読み取られたすべての行は、HISTIGNORE 値に従って履歴リストに保存されます。複数行の複合コマンドの 2 行目以降の行はテストされず、HISTControl 値に関係なく履歴に追加されます。

おすすめ記事