GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verlaufsbefehl in die Befehlszeile einfügen, ohne ihn auszuführen?

Ich verwende !n, wobei (n) die Zeilennummer zum Ausführen einer Zeile in der Verlaufsdatei ist, die ich an der Eingabeaufforderung ausführen möchte, die ich über history|less.

finde

Aber es gibt ein Befehlszeilenverlaufsereignis, das ich manuell ändern möchte. Wie kann ich einen Verlaufsereignisinhalt in die Befehlszeile einfügen, ohne dass er tatsächlich ausgeführt wird, damit ich ihn ändern und dann die Eingabetaste drücken kann?

Am besten,

Akzeptierte Antwort:

Um anzufordern, dass der Befehl nach der Ersetzung des Verlaufs gedruckt und nicht ausgeführt wird, fügen Sie :p hinzu Modifikator, z. !42:p . Der resultierende Befehl wird auch in den Verlauf eingetragen, sodass Sie Up drücken können um es zu bearbeiten.

Wenn Sie die histverify Optionssatz (shopt -s histverify ), haben Sie immer die Möglichkeit, das Ergebnis der historischen Ersetzungen zu bearbeiten.

Der fc builtin gewährt eingeschränkten Zugriff auf die Verlaufserweiterung (keine Wortbezeichner) und lässt Sie einen vorherigen Befehl in einem externen Editor bearbeiten.

Sie können !prefix verwenden um auf den letzten Befehl zu verweisen, der mit prefix beginnt , und !?substring um auf den letzten Befehl zu verweisen, der mit substring beginnt . Wenn Sie wissen, wonach Sie suchen, kann dies im Vergleich zum history | less .

Eine weitere Möglichkeit, den vorherigen Verlauf zu durchsuchen, ist die inkrementelle Suche:Drücken Sie Strg +R und beginnen Sie mit der Eingabe einer Teilzeichenfolge dessen, wonach Sie suchen. Drücken Sie Strg +R um zum bisherigen Vorkommen des Suchstrings zu gehen und Strg +S wenn du zu weit gegangen bist. Die meisten Tasten außer Strg +R , Strg +S , Rücktaste und gewöhnliche Zeichen beenden die inkrementelle Suche und haben ihre übliche Wirkung (z. B. Pfeiltasten, um den Cursor in der erreichten Zeile zu bewegen, Enter um den Befehl auszuführen).


Linux
  1. Bash-Tipps für den Alltag an der Kommandozeile

  2. Linux-Verlaufsbefehl

  3. Ich habe versehentlich das Passwort in die Bash-Befehlszeile eingegeben

  4. Befehl in Bash ausführen, ohne im Verlauf zu speichern

  5. Stellen Sie über die Befehlszeile eine Verbindung zu MySQL her, ohne das Root-Passwort zu verwenden?

Verlaufsbefehl in Linux (Bash-Verlauf)

Diff-Befehl unter Linux

So zeigen Sie den Bash-Verlauf ohne Zeilennummern an

Verlaufsbefehl mit Beispielen

Befehl ausführen, ohne ihn im Verlauf zu behalten

Strg + R in der Befehlszeile des Linux / Ubuntu-Terminals