Ich stelle fest, dass einige Beispiel-Bashs für Schleifen in Beispielen über mehrere Zeilen verteilt sind
for VARIABLE in file1 file2 file3
do
command1 on $VARIABLE
command2
commandN
done
(zB hier http://www.cyberciti.biz/faq/bash-for-loop/ ) Wie gebe ich eine neue Zeile in das Bash-Terminal ein (ich benutze Kitt)? Wenn ich am Ende einer Zeile die Eingabetaste drücke, führt das System sie aus.
bash
line-editor
giorgio79
quelle
quelle
bash
Sie die Tastenkombination verwenden können ,Ctrl + x + e
um den Inhalt des Befehls zu öffnen Aufforderung in einem Editor wie Vim , wo man auf sie leichter arbeiten können, wenn Sie fertig sind Sie den Editor verlassen können und der Befehl ausgeführt wird.Antworten:
Wenn Sie Enteram Ende von drücken :
Die Shell kann nichts ausführen, da diese
for
Schleife nicht beendet ist. Stattdessen wird eine andere Eingabeaufforderung gedruckt, die$PS2
Eingabeaufforderung (im Allgemeinen>
), bis Sie den Abschluss eingebendone
.Nach der
>
Anzeige können Sie jedoch nicht mehr zur ersten Zeile zurückkehren.Anstatt zu Entertippen, können Sie alternativ auch tippen Ctrl-VCtrl-J. Auf diese Weise wird das Zeilenumbruchzeichen (auch bekannt als
^J
) eingegeben, ohne dass der aktuelle Puffer akzeptiert wird , und Sie können später zur ersten Zeile zurückkehren.In
zsh
können Sie drücken Alt-Enteroder EscEnterein Zeilenumbruchzeichen einfügen, ohne den aktuellen Puffer zu akzeptieren. Um das gleiche Verhalten zubash
erzielen, können Sie Folgendes hinzufügen~/.inputrc
:(
\026
ist der^V
Charakter).quelle