0

在下面给出的示例中,我在 todel.txt 文件中期待 $a=b 行。如何按原样添加此处的文档文本块而不进行处理?

[root@localhost]# cat here_example.sh 
#!/bin/sh
cat > todel.txt << heredoc
<?php
$a=b
# this is comment
?>
heredoc

[root@localhost]# cat todel.txt 
<?php
=b
# this is comment
?>
4

2 回答 2

3

在“heredoc”周围加上引号:


#!/bin/sh
cat > todel.txt << "heredoc"
<?php
$a=b
# this is comment
?>
heredoc
于 2011-03-10T07:41:49.953 回答
1

bash(1)手册页:

如果引用了 in 中的任何字符word,则delimiter是删除 on 引号的结果word,并且 here-document 中的行不展开。

#!/bin/sh
cat > todel.txt << "heredoc"
<?php
$a=b
# this is comment
?>
heredoc
于 2011-03-10T07:42:56.487 回答