加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 你如何逃避heredoc中的角色?

发布时间:2020-12-13 18:45:21 所属栏目:Linux 来源:网络整理
导读:我正在使用bash脚本试图阻止它尝试替换我的heredoc中的变量.如何将heredoc设置为A)转义变量名而不是解析它们或B)返回整个字符串不变? cat /etc/nginx/sites-available/default_php ENDserver { listen 80 default; server_name _; root /var/www/$host; ---
我正在使用bash脚本试图阻止它尝试替换我的heredoc中的变量.如何将heredoc设置为A)转义变量名而不是解析它们或B)返回整个字符串不变?
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)手册页:

If any characters in word are
quoted,the delimiter is the result of quote removal on word,and the
lines in the here-document are not expanded.

cat > /etc/nginx/sites-available/default_php <<"END"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读