我知道这个问题听起来已经讨论过数千次了。但不知为何我找不到好的解决方案。
问题:我需要从 shell 中写入多行文本。文本可能包含特殊字符序列(以 $ 开头),我不想转义它们。该怎么做?
目前我正在使用 cat:
cat <<TAGTEXTFILE > sometext.txt
Here is some text in which I don't want to escape sequences like: $().
I just want to see this text in this script exactly as
it will look in resulting sometext.txt file.
TAGTEXTFILE
但是使用 cat 时我必须转义这个:$()。如何在不转义特殊字符的情况下编写多行文本?请不要使用 Python,我需要 shell 解决方案(bash 或 dash)。
答案1
cat <<"TAGTEXTFILE" > sometext.txt
... some text ...
TAGTEXTFILE