代码之家  ›  专栏  ›  技术社区  ›  WillD

在bash字符串中回显HTML

  •  0
  • WillD  · 技术社区  · 7 年前

    我想用bash >>

    echo <div id="myid"> $myBashVariable </div> >> file.html
    

    我不确定需要什么语法来转义HTML标记所需的各种字符… < > / ,请 "

    3 回复  |  直到 7 年前
        1
  •  1
  •   Nithin D J    7 年前

    \是在特殊字符之前必须添加的转义字符,以转义那些特殊字符的特殊含义。

    echo \<div id=\"myid\"\> $myBashVariable \</div\> >> file.html
    
        2
  •  3
  •   that other guy    7 年前

    省去麻烦,使用以下文档:

    #!/bin/sh
    var="world"
    
    cat >> file.html << EOF
    <html>
      <head>
        <title>Hello $var</title>
      </head>
      <body>
        <div id="whatever">Hello $var, and welcome to my page.</div>
      </body>
    </html>
    EOF
    

    $var 不会被HTML转义,所以如果 var='<script>alert(1)</script>'

        3
  •  1
  •   user2575725    7 年前

    \

    在Windows上,

    echo "<div id=\"myid\">%myBashVariable%</div>" >> file.html
    

    echo \<div\ id=\"myid\"\>$myBashVariable\</div\> >> file.html