Frage Bash Command History zu machen verhält sich wie Windows Command Shell


In bash ruft der Pfeil nach oben den vorherigen Befehl auf. Tippe zwanzig Mal darauf, ich bekomme den Befehl von zwanzig Stellen in der Geschichte, die ich vor fünf Minuten gelaufen bin. Angenommen, ich führe diesen Befehl gerade aus. Wenn ich jetzt auf den Pfeil tippe, erinnere ich mich an den letzten Befehl, den ich gerade neu ausgeführt habe, und zusätzliche Taps führen mich durch die Geschichte zurück wie zuvor.

Vor vielleicht fünf Minuten hatte ich vier Befehle in Serie ausgeführt, die ich noch einmal ausführen wollte. Ich muss wieder zwanzigmal auf den Pfeil tippen und wieder und wieder.

In Microsoft Windows kann ich in ihrer Befehlsshell einen Befehl von einer Weile abrufen, ihn erneut ausführen, und wenn ich dann auf Pfeil nach oben tippe, erhalte ich den Befehl von vor fünf Minuten. Ich kann die Befehle, die dieser vor fünf Minuten folgen, mit weniger Aufwand und weniger Verschleiß aus den Pfeiltasten bekommen.

Also, Bash (und ich glaube, die meisten Unix / Linux-Shells) startet immer seinen History-Abruf von dem letzten Befehl, während Windows sich den Platz eines längst vergangenen Befehls merken und sich relativ dazu erinnern wird.

Ist es möglich, die Geschichte in bash in der Weise wiederherzustellen, wie Windows es tut?


1
2017-08-08 01:23


Ursprung




Antworten:


Ich weiß nicht, ob dieses Verhalten in bash implementiert ist, aber Sie können Rückwärtssuche mit verwenden ^R oder history; !<number>. Diese beiden Befehle haben mir viel Zeit gespart.


1
2017-08-08 06:39