Bash Cat未在文件中写入特殊变量
我正在使用cat编写带有脚本shell的文件Bash Cat未在文件中写入特殊变量,bash,shell,cat,Bash,Shell,Cat,我正在使用cat编写带有脚本shell的文件 cat <<EOF >/home/test.txt set $value1 $value2; EOF cat在EOF周围使用引号: cat <<"EOF" >/home/test.txt set $value1 $value2; EOF 如果word中有任何字符被引用,则分隔符为 word和here-document中的行的引号删除结果 没有扩展。若word未加引号,则此处文档的所有行 受参数扩展、命令替
cat <<EOF >/home/test.txt
set $value1 $value2;
EOF
cat在EOF周围使用引号:
cat <<"EOF" >/home/test.txt
set $value1 $value2;
EOF
如果word中有任何字符被引用,则分隔符为
word和here-document中的行的引号删除结果
没有扩展。若word未加引号,则此处文档的所有行
受参数扩展、命令替换和
算术展开
你真的在写/home/test.txt
?通常情况下,/home
目录只包含用户的主目录,而不包含文件,而且非root用户通常没有写入的权限。顺便说一下,cat
没有看到变量。所发生的一切就是shell将数据写入一个临时文件,然后cat
读取该文件。魔法是由贝壳完成的,cat
像一袋石头一样愚蠢。就我个人而言,我会使用
<<[-]word
here-document
delimiter