這個問題聽起來像是重複的,但我認爲它與我找到的頁面不同。我試圖將一個文本文件的內容分配給一個bash變量,但是我希望將「\ n」字符作爲一個字符串包含進來,而不是實際在新行中看到它。例如,文件的內容是這個樣子:從字符串文字中賦值變量newline
這裏是文本文件的內容
有多種線路
等等等等
我想下面的變量「text_file」將被分配文件的內容,所以當我在腳本中使用它時,它看起來像這樣:
這裏是文本文件\ nThere的內容是多行\ nblah等等等等
我使用下面的腳本這個變量,我得到這個錯誤,我相信這是一個結果我分配給變量的「hello.txt」文件中的換行符。
錯誤解析參數 '--message':無效的JSON:無效的控制字符U '\ N' 在:
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
我想我失去了一些東西基本的,但我可以」弄明白了。先謝謝您的幫助。
我不認爲這是一個重複的問題,但它確實給了我一些關於可能導致問題的附加信息。因此,如果我在該文章中正確理解了這些回覆,那麼在JSON中就不能有「\ n」字符,並且需要使用額外的反斜槓進行轉義?如果是這樣,是否意味着我需要替換原來的所有換行符「你好。txt「文件加上」\\ n「來解決? – syang