一、背景
今天用 cursor 优化了下我之前写的博客创建脚本。经过它处理之后,我发现有一处标识,我之前没有见过
cat > file <<EOF
xxx
EOF
类似这种,具体的代码如下图所示
这段代码的主要功能是:每次新建博客 markdown 文件后,自动把 hugo 对应的表头文件信息给写入进去,因为这种表头信息都是标准化的。
二、使用 echo 和使用 here document 的区别
优化前
- 使用 echo
- 使用字符串
- 针对一些符号(如引号)还需要去做转义处理
- 换行不好处理
优化后
- 不需要使用字符串
- 不需要做转义处理
- 换行更好处理
- 只需要用一个新的 here doc 的标识
三、Here Document
shell 中称上面那种做法叫作 here document。可以很方便地处理多行文本。
一个例子:把下列内容写入文件中
AAA
BBB
bash 脚本
cat > file <<EOF
AAA
BBB
EOF