Richtig, das ist ein etwas nerviges Feature, weil etwas passiert, und manchmal nicht, sehr seltsam.
Ich füge einen Befehl in das Terminal ein, um seine Argumente zu optimieren, und manchmal wird er ausgeführt, sobald ich ihn einfüge. Manchmal nicht.
Dies reicht von peinlich (Veröffentlichen unsinniger Kommentare in einem IRC) bis gefährlich.
Wie kann ich diese Funktion endgültig ausschalten? Ich möchte niemals, dass das Terminal beim Einfügen automatisch ausgeführt wird.
command-line
Starkers
quelle
quelle
oh-my-zsh
oder anderen Terminal-Ersetzungen.Antworten:
Es gibt keine automatische Ausführung. Sie kopieren wahrscheinlich auch einen Zeilenumbruch (oder mehr) nach dem Befehl.
Wenn Sie einen Befehl mit einer Unterbrechung einfügen , glaubt die Shell (Befehlszeile), dass Sie die Unterbrechungstaste (Eingabe, Rückgabe) selbst gedrückt haben.
Diese Antwort erklärt nur, warum OP das unerwünschte Verhalten erhält. In einer anderen Antwort gibt es jedoch eine echte Lösung für das OP-Problem.
quelle
Eine echte Lösung besteht darin, den Bearbeitungsmodus mit zu öffnen
ctrl-x ctrl-e
und die Zwischenablage dann sicher in den Editor Ihrer Wahl einzufügen (normalerweise Emacs oder Vim). Nachdem Sie den Befehl bearbeitet haben, speichern und beenden Sie ihn und er wird in der Befehlszeile ausgeführt. Dies ist eine gute Angewohnheit für lange oder komplexe Befehle, insbesondere beim Einfügen von Festschreibungs-Hashes in Git-Befehle, und kann Ihnen helfen, auf lange Sicht einige beängstigende Ergebnisse zu vermeiden.Der Editor kann durch Setzen der Variablen VISUAL und EDITOR geändert werden (diese haben unterschiedliche Bedeutungen, siehe hier ).
quelle
Geben Sie vor dem Einfügen ein # ein und fügen Sie dann Ihre Zeile ein. Es wird nicht ausgeführt und Sie können das # entfernen und die Eingabetaste drücken, wenn die Änderungen abgeschlossen sind.
quelle
true
AKA verwenden:
, was im Grunde genommen ein No-Op-Befehl ist.$?
) ...true
ist nicht wirklich ein NOP, es gibt den Exit-Status 0 zurück. Ein Kommentar hingegen wird vollständig ignoriert und wird es daher nicht ändern$?
.