shell cat 保存文件方式

背景

在 Shell 中保存文件可以通过 echo 保存一个字符串, cat 保存一个字符片段,最近在用 cat 编写 Nginx 配置文件的时候,想要写入 $test 类似字段,但是 Shell 会自动将其识别为变量而忽略,记录下该方式。

cat 编写文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[email protected]:/tmp
$ cat cat.sh


cat << EOF > /tmp/yiran
aaa
bbb
ccc
ddd
$eee
$fff

EOF
[email protected]:/tmp
$ bash cat.sh
[email protected]:/tmp
$ cat yiran
aaa
bbb
ccc
ddd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[email protected]:/tmp
$ cat cat2.sh


cat << 'EOF' > /tmp/yiran
aaa
bbb
ccc
ddd
$eee
$fff

EOF
[email protected]:/tmp
$ bash cat2.sh
[email protected]:/tmp
$ cat yiran
aaa
bbb
ccc
ddd
$eee
$fff