shell下cat EOF中变量$处理

在使用cat EOF中出现$变量通常会直接被执行,显示执行的结果。若想保持$变量不变需要使用 符进行注释

[root@localhost ~]# cat >> aa.txt << EOF
> echo $aa
> EOF
[root@localhost ~]# cat aa.txt 
echo $aa

当存在$变量过多,或存在赋值命令的时候可直接在EOF上加上双引号就行。这时就不用使用进行注释了。

[root@localhost ~]# cat >> bb.txt << "EOF"
> echo $aa
> EOF
[root@localhost ~]# cat bb.txt 
echo $aa
原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/14638070.html