Wenn Sie C-x C-e
drücken Befehl, der Ihren Standardeditor öffnet, der .bashrc
definiert hat , danach können Sie alle leistungsstarken Funktionen Ihres Editors nutzen. Wenn Sie speichern und beenden, warten die Zeilen auf Ihre Eingabe.
Wenn Sie Ihren Editor definieren möchten, schreiben Sie einfach für Ex. EDITOR=emacs -nw
oder EDITOR=vi
innerhalb von ~/.bashrc
Versuchen Sie, \
einzugeben am Ende jeder Zeile, bevor Sie sie kopieren.
Beispiel:
echo "Hello world" && \
script_b.sh
echo $?
Der Exit-Code ($?
) ist jetzt die vollständige Befehlsfolge und nicht nur der letzte Befehl.
Ich bin wirklich überrascht, dass diese Antwort hier nicht angeboten wird, ich war auf der Suche nach einer Lösung für diese Frage und ich denke, dies ist der einfachste Ansatz und flexibler/verzeihender ...
Wenn Sie mehrere Zeilen aus einer Website/einem Texteditor/etc. in die Bash einfügen möchten, egal ob es sich um Befehle pro Zeile oder eine Funktion oder ein ganzes Skript handelt, beginnen Sie einfach mit einem (
und enden mit einem )
und Enter, wie im folgenden Beispiel:
Wenn ich den folgenden Blob hätte
function hello {
echo Hello!
}
hello
Sie können in einem Terminal mit Bash einfügen und überprüfen, indem Sie:
-
Beginnend mit
(
-
Fügen Sie Ihren Text ein und drücken Sie die Eingabetaste (um ihn hübsch zu machen) ... oder nicht
-
Endet mit einem
)
und drücken Sie die Eingabetaste
Beispiel:
imac:~ home$ ( function hello {
> echo Hello!
> }
> hello
> )
Hello!
imac:~ home$
Der eingefügte Text wird automatisch mit einem vorangestellten >
fortgesetzt für jede Zeile. Ich habe mit mehreren Zeilen mit Befehlen pro Zeile, Funktionen und ganzen Skripten getestet. Ich hoffe, das hilft anderen Zeit zu sparen!
Zusätzlich zum Backslash, wenn eine Zeile mit |
endet oder &&
oder ||
, wird in der nächsten Zeile fortgesetzt.