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
posted @ 2021-04-09 17:22  哈喽哈喽111111  阅读(3325)  评论(0编辑  收藏  举报