Ich suche häufig nach Änderungen mit history | grep 'string'
Ich erhalte eine Liste der Befehle in meinem Verlauf, zusammen mit der Nummer der Verlaufszeile, z
history | grep 'git'
755 git status
1535 git push origin master
1570 git merge origin/one-146
1667 git reset --hard origin/master
Ich kann jetzt einen Befehl auf einmal aufrufen und ausführen !nnn
, zum Beispiel mit:
!755
git status
# On branch master
nothing to commit, working directory clean
Meine Frage lautet: Wie kann ich einen nummerierten Verlaufsbefehl abrufen und in der Befehlszeile bleiben, um ihn zu bearbeiten, und ihn nicht sofort so ausführen, wie er ist !
, damit ich ein paar Dinge ändern kann, die Presing Return betreffen?
quelle
Ctrl-a
zum Beispiel) stoppt die Suche und lässt den aktuellen Verlaufseintrag in der Eingabeaufforderung, ohne ihn auszuführen. Dies kann reichen oder auch nicht, je nachdem, was @Michael möchte.Wenn Sie Ihre .bashrc-Datei so konfigurieren, dass der vi-Editor in der Befehlszeile verwendet wird, werden die Änderungen in der Befehlszeile wesentlich weniger komplex.
Erstens, sobald "set -o vi" aktiviert ist, können Sie einfach "<esc> k" drücken und dann "k" drücken , um die Verlaufsdatei sozusagen aufzurufen. Wenn Sie an einem Eintrag vorbeigehen, verwenden Sie "j". untergehen .
HINWEIS: Wenn Sie vi verwenden, gibt es zwei Modi: Befehlen und Bearbeiten, um in den Befehlsmodus zu gelangen. Drücken Sie EINMAL die ESCAPE-TASTE, und fügen Sie dann a, A, i, I usw. ein.
Einfaches Cursorpad in vi: left = h, down = j, up = k, right = l http://linuxmeister.net/vi/vi-Summary.jpg
Ich habe alle Einträge hinzugefügt, die für diese Funktion erforderlich sind: http://linuxmeister.net/Notes/bashrc-simple.html
Auf der Grundlage der obigen sehr hilfreichen Informationen konnte ich "history" verwenden und eine Zeile aus "history" abrufen, OHNE sie auszuführen. (DANKE FÜR DIESEN POST!)
wenn shopt aufgelistet ist und histverify "off" ist a! wird sofort AUSFÜHREN,
Wenn Sie Ihrem .bashrc hinzugefügt oder Folgendes eingegeben haben: shopt -s histverify , dann a! ermöglicht eine Bearbeitung, zum Beispiel:
->! 5
Wenn ich! 5 drücke, erscheint der folgende Befehl, der jedoch NICHT ausgeführt wird
### wenn histverify "on" ist.
Denken Sie daran, dass Linus und Richard Linux- und GNU-Tools entwickelt haben, um die Vorteile von UNIX zu nutzen. Der vi-Editor (erstellt von Bill Joy) ist eines der besten Werkzeuge, die Sie beherrschen müssen, da er auf JEDER Distribution von UNIX und Linux verfügbar ist.
Alle anderen Befehlszeileneditoren müssen geladen werden und erfordern zusätzliche Software. Die Verwendung einer grafischen Benutzeroberfläche unter Linux (außer Firefox, Thunderbird und OpenOffice) ist wie das Abschleppen Ihres Diesel-Geländewagens mit einem VW-Käfer von 1968 ... es wird funktionieren, aber es ergibt keinen Sinn.
Denken Sie daran, was Kernigan über eine GUI gesagt hat: "Was Sie sehen, ist alles, was Sie bekommen."
quelle
Drücken Sie dann den Aufwärtspfeil, entfernen Sie das Wort
echo
und bearbeiten Sie den Rest. Drücken Sie die Eingabetaste, um auszuführen.quelle