Fahren Sie mit der nächsten Zeile in Bash fort
In diesem kurzen Artikel geht es um die Erklärung einer Regel beim Bash-Scripting unter Linux oder UNIX. Bevor wir uns dem Hauptproblem zuwenden, lassen Sie uns kurz die Bash-Programmierung vorstellen.
Fahren Sie mit der nächsten Zeile in Bash fort
Bash ist ein einfacher Befehlszeileninterpreter in den Betriebssystemen UNIX und Linux. Wir können diesen Interpreter verwenden, um bestimmte Aufgaben über die Befehlszeile auszuführen, und indem wir die Befehle in einer Skriptdatei platzieren, können wir alle Befehle gleichzeitig ausführen.
Ein Shell-Skript ist nur eine Sammlung von Bash-Befehlen, die einzeln ausgeführt oder in einer Skriptdatei gespeichert werden können, die die Bash später ausführen kann.
Bei der Bash-Programmierung benötigen Sie kein Abschlusszeichen für Anweisungen. Wie in C/C++ benötigen wir am Ende jeder Anweisung ein Semikolon, um den Compiler über das Ende der Anweisung zu informieren. Das Bash-Skript verwendet jedoch kein Abschlusszeichen für Anweisungen.
Stattdessen werden Befehle durch die Zeilen getrennt, d. h. das Hinzufügen einer neuen Zeile markiert das Ende der Anweisung. Dies ist sehr praktisch und einfach zu verwenden, verursacht jedoch Probleme, wenn wir Befehle haben, die nicht in einer einzelnen Zeile platziert werden können und in der nächsten Zeile mehr Platz einnehmen.
Bei solch langen Befehlen verwenden wir ein Backslash-Symbol \
, um der Bash mitzuteilen, dass der Befehl in der nächsten Zeile fortgesetzt wird.
Sehen wir uns das folgende Beispiel an:
In diesem Skript können Sie sehen, dass wir einen einzigen echo
-Befehl haben, aber er ist in mehrere Zeilen aufgeteilt. Wenn wir das Skript ausführen, gibt es die folgende Ausgabe aus:
Denken Sie daran, dass der Backslash \
das letzte Zeichen der Zeile sein sollte. Danach darf kein einziges Zeichen mehr stehen, nicht einmal Leerzeichen. Dieser Backslash \
ist im Bash-Scripting als Escape-Zeichen bekannt.
Escape-Zeichen
Ein Backslash ohne Anführungszeichen wird als Escape-Zeichen bezeichnet; der Zweck davon ist, die Linienfortsetzung zu sagen. Es behält die Bedeutung aller nach ihm verwendeten Zeichen bei, mit Ausnahme des newline
.
Wird dieser Backslash mit newline
kombiniert, handelt es sich um ein Zeilenfortsetzungssymbol, und der Befehl wird in der folgenden Zeile fortgesetzt.