bashがスペースで始まるコマンドを保存しないのはなぜですか?


48

次のような一連のコマンドを実行すると:

$ ls
$ grep abc file.txt

そして、上矢印キーを使用して前のキーを取得すると、端末は最後のcmd(grepここにあります)を表示します

しかし、私がこのようなことをしたら:

$ ls
$   grep abc file.txt

whereのgrep前にはスペースがあり、上に押すとlsではなくが与えられますgrep

どうしてこれなの?


回答:


52
echo $HISTCONTROL
ignoreboth

マンバッシュ:

ヒストコントロール

コマンドを履歴リストに保存する方法を制御する、コロンで区切られた値のリスト。値のリストにが含まれている場合、ignorespaceスペース文字で始まる行は履歴リストに保存されません。値を指定ignoredupsすると、前の履歴エントリに一致する行は保存されません。値は、ignorebothの省略形ですignorespaceignoredups


3
HISTCONTROLに設定されignoreboth、デフォルトでは~/.bashrcで提供さdebianれる少なくとも。
ステファンシャゼラス14

1
ユースケースはignorespace何ですか?
Ciro Santilli新疆改造中心法轮功六四事件

1
Ubuntu 14.04では、デフォルトignorebothはちょっと面倒です。
ニックギャモン

6
チロ、コマンドのように入力できecho "drop database mydb" | mysql -u root -pPassword、履歴に保存されないようにするためだと思います。
ジェレミー

2
-あなたのbash_profileまたは同様にそれを追加する必要がありますので、Macユーザーのために、HISTCONTROLは、何も設定されていないunix.stackexchange.com/questions/115917/...
chrismarx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.