Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 cat 使用脚本外壳写入文件。
cat <<EOF >/home/test.txt set $value1 $value2; EOF
我的文件只包含这个字符串“set ;” 但我需要找到“set $value1 $value2;”。我猜 cat 认为 "$value1" 是一个 shell 变量,但它只是一个我需要写入文件的字符串。
在 EOF 周围使用引号:
cat <<"EOF" >/home/test.txt set $value1 $value2; EOF
从此处的文档部分man bash:
man bash
这里文档的格式是: <<[-]word here-document delimiter 如果 word 中的任何字符被引用,则分隔符是 word 上去除引号的结果,并且 here-document 中的行不展开。如果 word 没有被引用,则 here-document 的所有行都经过参数扩展、命令替换和算术扩展。
这里文档的格式是:
<<[-]word here-document delimiter
如果 word 中的任何字符被引用,则分隔符是 word 上去除引号的结果,并且 here-document 中的行不展开。如果 word 没有被引用,则 here-document 的所有行都经过参数扩展、命令替换和算术扩展。