Diese schnelle Anleitung zeigt Ihnen Methoden zur Definition von Multiline -String -Variablen mit Fluchtzeichen und Heredoc.
Bash Escape -Charaktere
Bash bietet wie die meisten Programmiersprachen die Möglichkeit, Fluchtzeichen zu verwenden. Escape -Charaktere ermöglichen es uns, eine neue Interpretation von Zeichensequenzen aufzurufen. Obwohl Bash verschiedene Fluchtcharaktere hat, müssen wir uns nur mit \ n (neuer Zeilenfigur) befassen,.
Wenn wir beispielsweise eine Multiline -Zeichenfolge in einem Skript haben, können wir das \ n Zeichen verwenden, um bei Bedarf eine neue Zeile zu erstellen.
Ein Beispiel für einen solchen Anwendungsfall ist:
#!/Bin/Bash
str = "Dies ist eine Zeichenfolge \ n-und eine andere \ n-und eine andere \ n-und die endgültige"
echo -e $ str
Das Ausführen des obigen Skripts druckt die Saiten in einer neuen Zeile, in der das \ n Charakter existiert.
Heredoc
Die obige Methode funktioniert gut für einfachen Zeilentext. Wenn wir jedoch einen Text mit anderen Sonderzeichen, Rückschlägen und Zitaten drucken müssen, wird er unnötig komplex. Um ein solches Problem zu lösen, können wir Heredoc verwenden.
Was ist ein Heredoc?
Ein Heredoc ist ein Spezial-Codes-Block, der der Shell aufweist, Eingaben von der aktuellen Quelle zu lesen, bis sie auf eine Zeile mit einem Trennzeichen trifft.
Die Syntax für das Heredoc in Bash lautet:
BEFEHL << DELIMITER
…
Heredoc -Block
…
…
Abgrenzer
Grenzwerte in einem Heredoc können jede Schnur sein. Die häufigsten Saiten sind jedoch eof, eom oder enden.
Sobald die Shell auf den Trennzeichen trifft, ersetzt sie alle Variablen, Befehle und Sonderzeichen und übergibt dann die Informationen im Heredoc -Block an den Hauptbefehl.
Sie können Sonderzeichen, reguläre Zeichenfolgen, Variablen und andere Shell -Befehle im Heredoc -Block aufnehmen.
Stellen Sie sicher, dass Sie den Heredoc -Block mit dem Trennzeichen kündigen. Fügen Sie vor dem Trennzeichen keine Whitespace hinzu.
Multiline -Saite mit Heredoc
Angenommen, Sie haben die folgende Zeichenfolge:
In einem Bash -Skript können wir eine Variable erstellen und die obige Zeichenfolge an CAT übergeben, wie unten gezeigt:
#!/Bin/Bash
String = $ (Katze << EOF
Dokumentieren
Eof
)
Echo $ String
Sobald Sie das obige Skript ausgeführt haben, sehen Sie eine Ausgabe A:
Wie Sie sehen können, können wir die gesamte Zeichenfolge, einschließlich aller Sonderzeichen, drucken.
Abschluss
Für diesen Leitfaden haben wir besprochen, wie man eine Multiline -Zeichenfolge in einem Bash -Skript definiert und verwendet. Der Heredoc hat jedoch mehr als hier besprochen. Betrachten Sie die folgende Ressource, um mehr zu erfahren.