it-swarm.com.de

Verwenden Sie den Aufwärtspfeil, um den vorherigen Befehl auszuführen

Welches Setup muss ich verwenden, um den vorherigen Befehl auszuführen? Unter Mac kann ich den gerade ausgeführten Befehl mit dem Aufwärtspfeil erneut ausführen, aber er scheint mit meiner Bash-Shell nicht zu funktionieren.

Ich verwende 8.04 (ich kann die neueste Distribution wegen einiger Probleme mit der Compilerversion nicht verwenden).

HINZUGEFÜGT

Ich habe nichts geändert, da es sich um eine Neuinstallation mit VMWare Fusion auf dem Mac handelt.

11
prosseek

Stellen Sie sicher, dass Ihr Verlauf aktiviert ist. Sie können den aktuellen Status überprüfen, indem Sie Folgendes ausführen:

set -o

Die Ausgabe sollte enthalten (beachten Sie die history on -Zeile):

histexpand      on
history         on
ignoreeof       off

Wenn dies nicht aktiviert ist, müssen Sie set -o history ausführen. Um diese Änderung dauerhaft zu machen, müssen Sie sie an ~/.bashrc anhängen:

set -o history

Wenn Sie den vorherigen Befehl ausführen möchten, können Sie auch den nächsten Befehl ausführen:

!!

From Bash-Handbuchseite :

Event Designators
   An event designator is a reference to a command line entry in the history list.

   !      Start a history substitution, except when followed by a blank, newline,
          carriage return, = or ( (when the extglob Shell option  is
          enabled using the shopt builtin).
   !n     Refer to command line n.
   !-n    Refer to the current command line minus n.
   !!     Refer to the previous command.  This is a synonym for `!-1'.
   !string
          Refer to the most recent command starting with string.
   !?string[?]
          Refer to the most recent command containing string.  The trailing ? 
          may be omitted if string is followed immediately by a newline.
   ^string1^string2^
          Quick  substitution.  Repeat the last command, replacing string1 with
          string2.  Equivalent to ``!!:s/string1/string2/'' (see Modifiers below).
   !#     The entire command line typed so far.

Wenn Sie Bash verwenden, können Sie die Standardverknüpfungen auch zum Navigieren im Verlauf verwenden:

  • Ctrl + P: Vorheriger Befehl
  • Ctrl + N: Nächster Befehl

    Befehle zum Bearbeiten des Verlaufs des vorherigen Verlaufs (C-p) Ruft den vorherigen Befehl aus der Verlaufsliste ab und springt in die Liste zurück. next-history (C-n) Ruft den nächsten Befehl aus der Verlaufsliste ab und bewegt sich in der Liste vorwärts.

10
Lekensteyn

Stellen Sie sicher, dass Sie tatsächlich bash verwenden. Ein häufiger Fall ist das Erstellen eines neuen Benutzers mit useradd anstelle von adduser oder der Benutzer- und Gruppenanwendung (GUI). Bei ersteren ist der Standard-Shell-Satz /bin/sh. chsh ausführen (cHange schell), um sicherzustellen, dass /bin/bash eingestellt ist.

13
geirha

Im Terminal geben Sie ein:

gedit  ~/.inputrc

Dann kopieren, einfügen und speichern:

"\e[A": history-search-backward
"\e[B": history-search-forward
"\e[C": forward-char
"\e[D": backward-char

Von nun an können Sie im Terminal schrittweise suchen. Um einen vorherigen Befehl zu finden, müssen Sie nur noch die ersten zwei oder drei Buchstaben eingeben und der Aufwärtspfeil bringt Sie schnell dorthin.

1
Shailesh Singh