Ich habe diese mehrzeilige Zeichenfolge (Anführungszeichen enthalten):
abc'asdf"
$(dont-execute-this)
foo"bar"''
Wie würde ich es einer Variablen mit einem Heredoc in Bash zuweisen?
Ich muss Zeilenumbrüche beibehalten.
Ich möchte den Zeichen in der Zeichenfolge nicht entkommen, das wäre ärgerlich ...
"EOF"Variablen mit doppelter Qout-Funktion führen bei einem Aufruf von via dazu eval $VAR, dass der gesamte Rest des Skripts kommentiert wird, da hier $ VAR als einzelne Zeile angezeigt wird ;; Um Bash- #Kommentare in mehrzeiligen Skripten verwenden zu können, wird das doppelte Anführungszeichen auch in der eval call: Bewertung "$ VAR" `angegeben.
evaldieser Methode, habe sie aber nicht gefunden, da sie Teil eines Pakets war, dessen evalVariablen in der Konfigurationsdatei definiert sind. Fehlermeldung war : /usr/lib/network/network: eval: line 153: syntax error: unexpected end of file. Ich habe gerade zu einer anderen Lösung gewechselt.
'EOF', mit` in the content: if the second line hasEscape- Zeilenumbrüchen mit dem Befehl cd`. Ich erhalte zurück: " .sh: Zeile X: Befehl cd: Befehl nicht gefunden "; aber wenn ich doppelt zitiere"EOF"; dann werden Bash-Variablen${A}nicht als Zeichenfolgen beibehalten (sie werden erweitert); aber dann, Zeilenumbrüche werden erhalten - und ich habe keine Probleme , einen Befehls mit fliessendcdin der zweiten Zeile ( und sowohl ‚EOF‘ und „EOF“ scheint gut auch zu spieleneval, für den Betrieb eine Reihe von Befehlen gespeichert in eine Stringvariable ). Prost!