我正在用bash脚本试图阻止它试图replace我的heredoc中的variables。 如何设置heredoc要么A)转义variables名称,而不是parsing它们或B)返回整个string不变?
cat > /etc/nginx/sites-available/default_php <<END server { listen 80 default; server_name _; root /var/www/$host; <--- $host is a problem child } END
因为,当我完成注入到一个文件,我留下这个:
server { listen 80 default; server_name _; root /var/www/; }
从bash(1)手册页:
如果单词中的任何字符被引用,则分隔符是对单词的引用删除的结果,并且这里的文档中的行不被扩展。
cat > /etc/nginx/sites-available/default_php <<"END"
只是一个反斜杠:
cat > /tmp/boeboe <<END server { listen 80 default; server_name _; root /var/www/\$host'; } END