1

シェル スクリプトに HTML を含めたい。これは私が試したことです:

(
echo "<html> 
<head>
<title>HTML E-mail</title>
</head>
<body>
<p style="font-family:verdana;color:red;">
This text is in Verdana and red</p>
</body>
</html>"
)>pkll.htm

ただし、HTML をファイルに書き込む代わりに、いくつかのエラーが発生します。

> bash: color:red: command not found bash: > This text is in Verdana and
> red</p </body> </html>: No such file or directory

これどうやってするの?

4

4 に答える 4

4

より良いオプションは、ヒアドキュメント構文を使用することです (この回答を参照してください):

cat << 'EOF' > pkll.htm
<html> 
  <head>
    <title>HTML E-mail</title>
  </head>
  <body>
    <p style="font-family:verdana;color:red;">
      This text is in Verdana and red
    </p>
  </body>
</html>
EOF

HTML の二重引用符が二重引用符を囲んで終了し、 s<>がリダイレクトと見なされ、 s がコマンド;を終了させるため、試みは失敗しました。echo

技術的には、一重引用符を使用できました。

( 
echo '<html> 
<head>
<title>HTML E-mail</title>
etc ...'
)>pkll.htm

'しかし、HTML にアポストロフィや属性などのが含まれていると、同じ問題が再び発生します。ヒアドキュメントにはそのような問題はありません。

于 2012-09-07T20:51:27.410 に答える
1

Advanced Bash-Scripting Guide Chapter 19. Here Documents を読んでください。http://tldp.org/LDP/abs/html/here-docs.html

cat << 'EOF' > pkll.htm
<html> 
<head>
<title>HTML E-mail</title>
</head>
<body>
<p style="font-family:verdana;color:red;">
This text is in Verdana and red</p>
</body>
</html>
EOF
于 2012-09-07T20:55:03.653 に答える
1

エコーする引数の先頭に引用符があるため、html で引用符をエスケープする必要があります。

端末はそれを次のように解釈します

<html>...<p style="

最初の引数

font-family:verdana;

セミコロンがあるため、残りは他のコマンドと同じです。

したがって、pタグを次のように置き換える必要があります

<p style=\"font-family:verdana;color:red;\">
于 2012-09-07T20:54:36.287 に答える
-1

オンライン ツールを使用して同じことを行うことができます。

http://togotutor.com/code-to-html/shell-to-html.php

于 2015-05-05T22:28:02.303 に答える