Bash Define Multiline String Variable

Bash Define Multiline String Variable
Nehmen wir an, Sie haben auf ein Szenario gestoßen. Wenn Sie die Standardmethode zum Definieren einer Variablen in Bash versuchen, müssen Sie auf einen Fehler oder einen unvollständigen Teil der Variablen stoßen.

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:







Dokumentieren



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.