在使用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