Diese Frage klingt wie ein Duplikat, aber ich denke, es ist anders als die Seiten, die ich gefunden habe. Ich versuche, den Inhalt einer Textdatei einer bash-Variablen zuzuordnen, aber ich möchte, dass das "\ n" -Zeichen als String eingefügt wird, anstatt es tatsächlich in einer neuen Zeile zu sehen. Zum Beispiel sehen die Inhalte der Datei etwas wie folgt aus:Zuweisen von Variablen aus Datei mit Zeichenfolgenliteral newline
Hier ist der Inhalt der Textdatei
Es gibt mehrere Zeilen
blablabla
Ich möchte die Variable "text_file" unten, um den Inhalt der Datei zugewiesen zu bekommen, so dass es aussieht, wenn ich es in meinem Skript verwende:
Hier ist der Inhalt der Textdatei \ nEs mehrere Zeilen sind \ nbla bla bla
ich diese Variable im folgenden Skript bin mit, und ich diesen Fehler, die ich glaube, das Ergebnis ist der Newline-Zeichen in der Datei "hello.txt", die ich der Variablen zuweise.
Fehler beim Parsen der Parameter '--message': ungültiger JSON: Ungültige Steuerzeichen u '\ n' an:
subject="Test Email Sent Via AWS"
message="here is the message to the user...\n\n"
text_file=`cat hello.txt`
full_message="$message$text_file"
cat <<EOF > generated_message.json
{
"Subject": {
"Data": "$subject",
"Charset": "UTF-8"
},
"Body": {
"Text": {
"Data": "$full_message",
"Charset": "UTF-8"
}
}
}
EOF
aws ses send-email --profile sendmail --from [email protected] --destination file://destination.json --message file://generated_message.json
Ich glaube, ich etwas Grundsätzliches fehlt bin, aber ich kann‘ t es herausfinden. Vielen Dank im Voraus für die Hilfe.
Ich glaube nicht, dass dies notwendigerweise eine doppelte Frage ist, obwohl es mir einige zusätzliche Informationen darüber gibt, was das Problem verursachen könnte. Wenn ich also die Antworten in diesem Beitrag richtig verstehe, können Sie in JSON überhaupt kein "\ n" -Zeichen haben und es muss mit einem zusätzlichen Backslash versehen werden. Wenn dies der Fall ist, bedeutet das, dass ich alle meine Newline-Zeichen im Original "Hallo" ersetzen muss.txt "file with" \\ n "zu lösen? – syang